go - 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()
}
解决方案
bytes.Split
返回一个[][]byte
。那是一片[]byte
。
推荐阅读
- python - 如何为另一个图像的不透明部分设置图像透明?
- docker - 如何在docker-compose的不同文件夹中运行两个shell命令
- c# - Xamarin SimpleAudioPlayer 返回 System.NullReferenceException
- reactjs - 反应状态缺失
- console - spyder 控制台不输出脚本中的值
- android - 为什么底部工作表对话框无法在平板电脑上展开?
- javascript - 检查数组是否包含 id 与 id 列表匹配的对象
- javascript - 在 Vue 中使用带有嵌套对象的 v-for
- python - 针对特定情况实施 SmoothL1Loss
- forward-declaration - 为什么我不能多次声明不同类型的变量或函数?