drba1172
2017-02-20 19:00
浏览 124
已采纳

Golang slice附加内置函数返回值

The return value of slice2 of this code is [[1 1][1 1]].
And that got me confuse because I was expecting [[0 0][1 1]].
I can't figure it out why is returning [[1 1][1 1]] and not [[0 0][1 1]].
I would appreciate if someone can explain that. Thanks.

slice := []int{0, 0}
slice2 := [][]int{}

for i := range slice {
    slice[0] = i
    slice[1] = i
    slice2 = append(slice2, slice)
}
fmt.Println(slice2)

You can check the code in this link play.golang.org

图片转代码服务由CSDN问答提供 功能建议

此代码slice2的返回值为[[1 1] [1 1]]。
\ n这使我感到困惑,因为我期待的是[[0 0] [1 1]]。
我不知道为什么返回[[1 1] [1 1]]而不是[[0 0] ] [1 1]]。
如果有人可以解释,我将不胜感激。 谢谢。

  slice:= [] int {0,0} 
slice2:= [] [] int {} 
 
for i:=范围切片{
  slice [0] = i 
 slice [1] = i 
 slice2 = append(slice2,slice)
} 
fmt.Println(slice2)
   
 
 

您可以在此链接中查看代码 play.golang.org

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

查看更多回答(2条)

相关推荐 更多相似问题