一尘不染

Go,Golang:结构中的数组类型,缺少类型的复合文字

go

我需要将切片类型添加到此结构。

 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

我该如何解决?如何构造包含array(slice)类型的结构?


阅读 228

收藏
2020-07-02

共1个答案

一尘不染

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

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

让我解释一下。您想切成薄片Example。所以这里是— []Example{}。然后,必须在其中填充Example-
Example{}Example依次由[]string— 组成[]string{"a", "b", "c"}。这只是适当语法的问题。

希望能有所帮助。

2020-07-02