我想使用匿名结构来做一些事情。
var users []struct{
Name string `json:"name,omitempty"`
Age int
}
我必须再次编写类型来设置值
users = make([]struct{
Name string `json:"name,omitempty"`
Age int
}, 0, 10)
如果我坚持使用匿名结构,有没有办法让它更体面?
(如果不是,我想知道为什么golang的设计会做出这样的功能...)
最佳答案
匿名结构对于一次性使用非常方便。
如果您多次使用它,请定义一个命名结构类型。
如果你只在一个函数中使用它,你可以在那个特定函数的范围内定义类型,所以很明显它不能在其他地方使用:
func myfunc() {
type MyType struct {
Name string
}
m := MyType{Name: "Hello, World!"} // this type can only be used within this func
fmt.Println(m)
}
关于go - 当变量已经声明时,为什么我必须将类型传递给 make 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56962521/