24

我需要向这个结构添加切片类型。

 type Example struct {
    text  []string
 }

 func main() {
    var arr = []Example {
        {{"a", "b", "c"}},
    }
    fmt.Println(arr)    
 }

然后我得到

  prog.go:11: missing type in composite literal
  [process exited with non-zero status]

所以指定复合文字

    var arr = []Example {
         {Example{"a", "b", "c"}},

但仍然收到此错误:

    cannot use "a" (type string) as type []string in field value

http://play.golang.org/p/XKv1uhgUId

我该如何解决?如何构造包含数组(切片)类型的结构?

4

1 回答 1

50

这是您正确的Example结构片段:

[]Example{
  Example{
   []string{"a", "b", "c"},
  },
}

让我解释一下。你想做一片Example。所以这里是—— []Example{}。然后它必须填充Example- Example{}Example反过来包括[]string- []string{"a", "b", "c"}。这只是正确语法的问题。

希望有帮助。

于 2013-10-20T20:44:01.503 回答