添加匿名struct元素到切片

Yur*_*sky 2 go

假设我有一些匿名结构

data := []struct{a string, b string}{}
Run Code Online (Sandbox Code Playgroud)

现在,我想在此切片中添加一个新项目.

data = append(data, ???)
Run Code Online (Sandbox Code Playgroud)

我怎么做?有任何想法吗?

Fli*_*mzy 10

由于您使用的是匿名结构,因此必须在append语句中再次使用具有相同声明的匿名结构:

data = append(data, struct{a string, b string}{a: "foo", b: "bar"})
Run Code Online (Sandbox Code Playgroud)

更容易使用命名类型:

type myStruct struct {
    a string
    b string
}

data := []myStruct{}

data = append(data, myStruct{a: "foo", b: "bar"})
Run Code Online (Sandbox Code Playgroud)