Go语言中的复合类型与对象编程
1. 复合类型中的结构体
在Go语言里,结构体是一种强大的复合类型,它有着诸多特性和使用规则。
1.1 匿名字段的访问与更新
当使用匿名字段时,Go遵循特定规则以简化字段名解析:
- 类型的名称会成为字段的名称。
- 匿名字段的名称不能与其他字段名称冲突。
- 对于导入的类型,仅使用非限定(省略包名)的类型名称。
以下代码展示了如何访问和更新匿名字段:
func main(){
jupiter := planet{}
jupiter.diameter = 88846
jupiter.name.long = "Jupiter"
jupiter.name.short = "J"
jupiter.name.symbol = '\u2643'
jupiter.desc = "A ball of gas"
...
}
1.2 提升字段
嵌入结构体的字段可以提升到其包含类型。提升后的字段在选择表达式中无需使用其类型的限定名称。例如:
func main() {
saturn := planet{}
saturn.diameter = 120536
saturn.long = "Saturn"
saturn.short = "S"
saturn.symbol = '\u2644'
saturn.desc = "Slow mov
超级会员免费看
订阅专栏 解锁全文
895

被折叠的 条评论
为什么被折叠?



