xiguaqq20 发表于 2018-9-20 11:00:55

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

  直接贴代码
  

func sliceModify(slice []int) {  

// slice = 88  
slice = append(slice, 6)
  
}
  
func main() {
  
slice := []int{1, 2, 3, 4, 5}
  
sliceModify(slice)
  
fmt.Println(slice)
  
}
  

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

func sliceModify(slice *[]int) {  

*slice = append(*slice, 6)  
}
  
func main() {
  
slice :
= []int{1, 2, 3, 4, 5}  
sliceModify(
&slice)  
fmt.Println(slice)
  
}
  



页: [1]
查看完整版本: golang的slice作为函数参数传值的坑