首页 > 其他 > 详细

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

时间:2014-05-03 23:17:45      阅读:481      评论:0      收藏:0      [点我收藏+]

直接贴代码

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

 

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

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

 

golang的slice作为函数参数传值的坑,布布扣,bubuko.com

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

原文:http://www.cnblogs.com/ziyouchutuwenwu/p/3705107.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!