首页 > 解决方案 > 将匿名结构元素添加到切片

问题描述

假设我有一片匿名结构

data := []struct{a string, b string}{}

现在,我想在这个切片上添加一个新项目。

data = append(data, ???)

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

标签: go

解决方案


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

data = append(data, struct{a string, b string}{a: "foo", b: "bar"})

使用命名类型要容易得多:

type myStruct struct {
    a string
    b string
}

data := []myStruct{}

data = append(data, myStruct{a: "foo", b: "bar"})

推荐阅读