[英]Does whether or not a field is exported inside an anonymous struct make any difference?
[英]Initializing a field inside an anonymous struct
鉴于这个匿名结构:
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{}
}
干得好:
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"}
一个工作的例子: 去PlayGround 。
是的,你可以这样做。 看看这个例子:
package main
import "fmt"
func main() {
myMap := struct {
list map[string]string
someStuff interface{}
}{
list: make(map[string]string),
someStuff: 2,
}
fmt.Println(myMap)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.