小编Jon*_*s D的帖子

使用 go 中的范围选择 2D 切片的 2D 子切片

当选择切片的 2D 子切片时,我得到了令人惊讶的结果。考虑以下 2D int 数组

a := [][]int{
    {0, 1, 2, 3},
    {1, 2, 3, 4},
    {2, 3, 4, 5},
    {3, 4, 5, 6},
}
Run Code Online (Sandbox Code Playgroud)

要使用范围选择左上角的 3x3 2D 切片,我将使用

b := a[0:2][0:2]
Run Code Online (Sandbox Code Playgroud)

我希望结果是

[[0 1 2] [1 2 3] [2 3 4]]
Run Code Online (Sandbox Code Playgroud)

但是第二个索引范围似乎没有任何效果,而是返回以下内容:

[[0 1 2 3] [1 2 3 4] [2 3 4 5]]
Run Code Online (Sandbox Code Playgroud)

我缺少什么?您是否可以简单地不选择像这样尺寸 > 1 的子切片?

arrays go slice

6
推荐指数
1
解决办法
1661
查看次数

标签 统计

arrays ×1

go ×1

slice ×1