如何在 Go 中定义包含 int 的切片和字符串的切片?
How do I define a slice of slices containing an int and a slice of strings in Go?
看起来像这样:
[[1,["a", "b", "c"]], [2,["z", "x", "y"]]]
直觉上我会做类似 [][]int[]string 的事情,但那是无效的:syntax error: unexpected [, expecting semicolon or newline or }
,那么我该怎么做呢?
T 切片:var x []T
一片一片的T:var x [][]T
T1 和 T2 的切片:您需要将 T1 和 T2 放入结构中。
So for: slice of (slices containing { int and slice of strings } )。
它通常是这样的:
type foo struct {
i int
s []string
}
var x [][]foo
但是你的例子看起来更像是一个 []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 on Playground(还包括更多示例)
看起来像这样:
[[1,["a", "b", "c"]], [2,["z", "x", "y"]]]
直觉上我会做类似 [][]int[]string 的事情,但那是无效的:syntax error: unexpected [, expecting semicolon or newline or }
,那么我该怎么做呢?
T 切片:var x []T
一片一片的T:var x [][]T
T1 和 T2 的切片:您需要将 T1 和 T2 放入结构中。
So for: slice of (slices containing { int and slice of strings } )。 它通常是这样的:
type foo struct {
i int
s []string
}
var x [][]foo
但是你的例子看起来更像是一个 []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 on Playground(还包括更多示例)