求助一个golang slice的问题

        a := make([]int, 0, 3)
    b := append(a, 1) 
    //a:[] b: [1] 这里是理解的
    _ = append(a, 2) 
    ////a:[] b: [2] 这里为什么?
    fmt.Println(b[0])  
    //2

如题目 第一次append后 b与a是否公用同一个底层数组?

阅读 1.1k
1 个回答

没超出容量的时候 是引用同一个数组。 append 两次都是a 都是改变 第一个 的值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题