众所周知,以大写字母开头的字段是公共字段,非大写字母开头的字段是私有字段。但golang也支持匿名字段。例如:
type myType struct { string }
这些字段是为嵌入而设计的。但这个字段是公共的还是私有的?
如果嵌入类型的类型名是小写的,则它具有包可见性。例如:
type t struct { string } func main() { x := t{} x.string = "a" fmt.println(x) }
但是,如果您将类型 t
移动到另一个包 p
:
package p type t struct { string }
package main import "testmod/p" func main() { x := p.T{} x.string = "a" // Error }
以上是Go 结构匿名字段是公共的还是私有的?的详细内容。更多信息请关注PHP中文网其他相关文章!