初始化匿名结构中的字段

鉴于这个匿名结构:


var myMap struct {

  list       map[string]string

  someStuff *some.Object

}

我可以在一个声明中初始化list和someStuff吗?


这不起作用:


var myMap struct {

  list       map[string]string = make(map[string]string)

  someStuff *some.Object = &some.Object{}

}


FFIVE
浏览 159回答 2
2回答

缥缈止盈

干得好:var myMap = struct {  list map[string]string  str string}{  list: map[string]string{"hello":"string"},  str: "myString",}你也可以这样做:var myMap = struct {  list map[string]string  str string}{map[string]string{"hello":"string"}, "myString"}和一个工作示例:Go PlayGround.所以你声明你的结构,然后在花括号中启动它。

慕森卡

是的,你可以这样做。看这个例子:package mainimport "fmt"func main() {    myMap := struct {        list       map[string]string        someStuff interface{}    }{        list: make(map[string]string),        someStuff: 2,    }    fmt.Println(myMap)}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go