golang的slice作为函数参数传值的坑

时间:2022-07-09 07:41:09

直接贴代码

func sliceModify(slice []int) {
// slice[0] = 88
slice = append(slice, )
}
func main() {
slice := []int{, , , , }
sliceModify(slice)
fmt.Println(slice)
}

返回的没变,坑爹的,这个设计太那啥了,可以正确跑出效果的版本如下:

func sliceModify(slice *[]int) {
*slice = append(*slice, )
}
func main() {
slice := []int{, , , , }
sliceModify(&slice)
fmt.Println(slice)
}

相关文章