本文始发于个人公众号:TechFlow,原创不易,求个关注
今天是golang专题第10篇文章,我们继续来看golang当中的面向对象部分。
在上一篇文章当中我们一起学习了怎么创建一个结构体,以及怎么给结构体定义函数,还有函数接收者的使用。今天我们来学习一下结构体本身的一些使用方法。
初始化
在golang当中结构体初始化的方法有四种。
new关键字
我们可以通过new关键字来创建一个结构体的实例,这种方法和其他语言比较类似,这样会得到一个空结构体指针,当中所有的字段全部填充它类型对应的零值。比如int就对应0,float对应0.0,如果是其他结构体则对应nil。
type Point struct {
x int
y int
}
func main() {
var p *Point = new(Point)
fmt.Print(p)
}
从这段代码当中我们可以看到,new函数返回的是一个结构体指针,而不是结构体的值。一般我们很少用new关键字,而是直接通过结构体加花括号的方式来初始化。
结构体名称
相比于使用new关键字,我们更常用的是通过结构体名称加上花括号的方式来进行初始化。
如果我们不再花括号当中填写参数的话,那么同样会得到一个填充了零值的结构体。结构体当中的所有属性都会被赋予这个类型对应的零值。

本文详细介绍了Go语言中结构体的初始化方法,包括使用new关键字和结构体名称进行初始化,并强调了直接使用结构体名称加花括号初始化的常见方式。此外,文章探讨了Go语言中的继承实现,通过将父类作为子类的成员变量达到类似继承的效果,解释了如何调用和改写父类方法。最后,作者分享了对Go语言这种面向对象方式的理解和感受。
最低0.47元/天 解锁文章
4万+

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



