如何在 Go 中定义包含 int 的切片和字符串切片?

01A*_*key 1 arrays go slice multidimensional-array

它看起来像这样:

[[1,["a", "b", "c"]], [2,["z", "x", "y"]]]

直觉上我会做类似 [][]int[]string 的事情,但这是无效的:syntax error: unexpected [, expecting semicolon or newline or },那么我该怎么做呢?

Dav*_*e C 5

T 切片:var x []T

T 的切片:var x [][]T

T1 和 T2 的切片:您需要将 T1 和 T2 放入结构中。

因此对于:切片(包含 { int 和字符串切片 } 的切片)。通常是这样的:

type foo struct {
    i int
    s []string
}
var x [][]foo
Run Code Online (Sandbox Code Playgroud)

但你的例子看起来更像是一个[]foo

bar := []foo{
    {1, []string{"a", "b", "c"}},
    {2, []string{"z", "x", "y"}},
}
fmt.Println("bar:", bar)
// bar: [{1 [a b c]} {2 [z x y]}]
Run Code Online (Sandbox Code Playgroud)

Run on Playground(还包括更多示例)