我有这个Javascript数组,我如何在Go中重新创建它?我完全不知道如何创建这么多嵌套的切片或数组。
var jsArray = [
[
[],
[],
[],
[],
[],
],
[
[],
[],
[],
[],
[]
]
];
JSON输出:
[[[],[],[],[],[]],[[],[],[],[],[]]]
谢谢!
让我们假设你将存储在当前JS数组中的值是这样的
var jsArray = [
[
[1, 2],
[3, 4],
[5, 6],
[7, 8],
[9, 10]
],
[
[11, 12],
[13, 14],
[15, 16],
[17, 18],
[19, 20]
]
];
相同的值可以像这样存储在Golang片中
goSlice := [][][]int{
{
[]int{1, 2},
[]int{3, 4},
[]int{5, 6},
[]int{7, 8},
[]int{9, 10},
},
{
[]int{11, 12},
[]int{13, 14},
[]int{15, 16},
[]int{17, 18},
[]int{19, 20},
},
}
上述切片的输出如下所示
[[[1 - 2] [3 - 4] 6 [5] [7 8] 10 [9]] [[11] 12 [13 14] [15 16] [17 18] [1920]]]
与jsArray
结构相同。
如果你想用数组来代替切片你可以这样定义它
goArray := [2][5][2]int{
{
[2]int{1, 2},
[2]int{3, 4},
[2]int{5, 6},
[2]int{7, 8},
[2]int{9, 10},
},
{
[2]int{11, 12},
[2]int{13, 14},
[2]int{15, 16},
[2]int{17, 18},
[2]int{19, 20},
},
}
希望这对你有帮助。
试试这个:
func main() {
var jsArray [2][5][0]int
fmt.Println(jsArray)
}
你可以创建你的嵌套切片,并描述它包含的每个切片的长度,从外到内
https://www.tutorialspoint.com/go/go_multi_dimensional_arrays.htm