golang
json
必须传入一个指针类型,但是声明的指针类型不行
// 错误 var res *Result json.Unmarshal(b,res) // 正确 var res *Result json.Unmarshal(b,&res)
slice
slice传递时候,实际上都是值传递,只不过创建新的slice时候,系统没有全部复制一份,而是把原来的数据给了一个新的引用,这才导致了,只要容量不变化,新slice的操作都会转移到老slice上,slice结构如下
type slice struct { array unsafe.Pointer // 指向数组内存地址的指针 len int // 已有元素长度 cap int // 切片总容量 }
如果彻底不想改变老slice,可以逐个值放进去
最后更新于 2023-07-29 23:49:58 并被添加「」标签,已有 790 位童鞋阅读过。
此处评论已关闭