鉴于这个匿名结构: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{}}
2 回答
缥缈止盈
TA贡献2041条经验 获得超4个赞
干得好:
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.
所以你声明你的结构,然后在花括号中启动它。
慕森卡
TA贡献1806条经验 获得超8个赞
是的,你可以这样做。看这个例子:
package main
import "fmt"
func main() {
myMap := struct {
list map[string]string
someStuff interface{}
}{
list: make(map[string]string),
someStuff: 2,
}
fmt.Println(myMap)
}
- 2 回答
- 0 关注
- 158 浏览
添加回答
举报
0/150
提交
取消