对于已经使用过一段时间golang语言的开发者来说,结构体一定不陌生,因为结构体在golang中还是使用非常频繁的,类似java中的class一样,对于结构体的一些非常基础的使用在这里就不再介绍了,本文主要介绍下最近在读别人代码的时候发现的一种写法,结构体中的匿名字段。
结构体可以包含一个或多个匿名(或内嵌)字段,即这些字段没有显式的名字,只有字段的类型是必须的,此时类型也就是字段的名字。
匿名字段本身可以是一个结构体类型,即结构体可以包含内嵌结构体。
Go语言中的继承是通过内嵌或组合来实现的,所以可以说,在Go语言中,相比较于继承,组合更受青睐。
package mainimport "fmt"type innerS struct {in1 intin2 int
}type outerS struct {b intc float32int // anonymous fieldinnerS //anonymous field
}func main() {outer := new(outerS)outer.b = 6outer.c = 7.5outer.int = 60outer.in1 = 5outer.in2 = 10fmt.Printf("outer.b is: %dn", outer.b)fmt.Printf("outer.c is: %fn", outer.c)fmt.Printf("outer.int is: %dn", outer.int)fmt.Prin
本文发布于:2024-01-29 10:36:21,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170649578414680.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |