大家好,我是「云舒编程」,今天我们来聊聊【golang】 slice。
Go 语言的 slice
很好用,不过也有一些坑。在初学golang中,作者也在slice上踩了很多坑。为了避免以后继续踩坑,也为了能够更加深入了解slice的原理,于是有了本文。
可以先看下以下几个案例,如果你可以正确回答,并且能够说出为什么,那么恭喜你,你对slice已经很了解了。
案例一(slice传参):
//情况一
func main() {
slice := make([]int,0,4)
slice = append(slice,1,2,3)
TestSlice(slice)
fmt.Println(slice)
}
func TestSlice(slice []int) {
slice = append(slice,4)
}
//情况二
func main() {
slice := make([]int,0,4)
slice = append(slice,1,2,3)
TestSlice(slice)
fmt.Println(slice)
}
func TestSlice(slice []int) {
slice = append(slice,4)
slice[0] = 10
}
//情况三
func main() {
slice