Go 中的构造函数
处理 Go 中定义为结构体的自定义类型时,可能需要使用合理的默认值来初始化它们创建。然而,与传统的面向对象编程语言不同,Go 没有专门的结构体构造函数。
构造函数的替代方案:新函数
为了解决这种情况,Go 工程师通常使用“新”功能。这些函数接受初始化所需的参数,并返回指向新结构体实例的指针:
type Thing struct { Name string Num int } func NewThing(someParameter string) *Thing { p := new(Thing) p.Name = someParameter p.Num = 33 return p }
这种方法允许使用特定默认值初始化结构体值,例如为“Num”字段分配一个值.
压缩的新函数语法
对于简单的结构体,可以使用压缩语法:
func NewThing(someParameter string) *Thing { return &Thing{someParameter, 33} }
非指针返回类型
如果不需要返回指针,可以使用“make”函数代替“新”:
func makeThing(name string) Thing { return Thing{name, 33} }
以上是如何在没有构造函数的情况下初始化结构体?的详细内容。更多信息请关注PHP中文网其他相关文章!