首页 > 解决方案 > Golang中的字节切片是二维数据结构吗

问题描述

我从一些博客上得到了这段代码,我想知道为什么切片 b 中特定索引的重新分配使用二维索引来表示,例如

b[0][0] = byte('*')

难道不应该是

b[0]=byte('*')
package main

import (
    "bytes"
    "fmt"
)

func splitDemo() {
    fmt.Println("Split demo")

    a := []byte("a,b,c")
    b := bytes.Split(a, []byte(","))
    b[0][0] = byte('*')

    fmt.Printf("%q",b)
    fmt.Printf("%q",a)

}

func main() {
    splitDemo()

}

标签: goslice

解决方案


bytes.Split返回一个[][]byte。那是一片[]byte


推荐阅读