将切片作为参数误区
Go语言中,slice作为函数参数时是值拷贝,意味着函数将获得切片的副本:指向基础数组的起始地址的指针,以及切片的长度和容量。
func main() {
nums:=make([]int,0,100)
fmt.Printf("main里面的地址:%p\n",&nums)
try(nums)
}
func try(nums []int) {
fmt.Printf("try里面的地址:%p\n",&nums)
}
输出结果:
可以看出两个nums切片的地址不一样,从而知道
原创
2022-03-12 14:55:15 ·
797 阅读 ·
0 评论