大佬教程收集整理的这篇文章主要介绍了golang 中使用数组创建slice时的注意事项,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
golang中,slice是对固定长度数组的一段切片,其底层是用对数值空间的指针实现的。
在golang中当使用一个数组来创建slice时如:
var array [5]int = [5]int{1,2,3,4,5}
//切割出数组中的4个值,创建一个slice
myslice := array[0:4]
打印array的值为:
1,2,3,4,5
打印MysqLice的值为:
1,4
现在我们对myslice进行append操作
myslice = append(myslice,100)
打印array的值为:
1,100
打印MysqLice的值为:
1,100
现在我们再对myslice进行修改操作
myslice[0] = 50
打印array的值为:
50,100
打印MysqLice的值为:
50,100
当slice的长度没有超过创建是的数组的长度时,slice还是指向的创建时使用的数组。
现在myslice的长度已经和用来创建slice时使用的数组的长度一致了
我们再对myslice进行append操作,让myslice的长度大于创建时使用的数组的长度
myslice = append(myslice,200)
打印array的值为:
50,100,200
因为当myslice超出arr的长度时,Go语言会隐含式地对array做了copy,并让myslice内部的指针重新指向了新数值,所以一切预期中修改array的值的操作,都不会生效!
以上是大佬教程为你收集整理的golang 中使用数组创建slice时的注意事项全部内容,希望文章能够帮你解决golang 中使用数组创建slice时的注意事项所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。