登录
首页 >  Golang >  Go问答

聊聊Golang中的构造函数

来源:Golang技术栈

时间:2023-03-03 21:10:21 470浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《聊聊Golang中的构造函数》,就坚持看下去吧!文中内容包含golang等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

我有一个结构,我希望用一些合理的默认值对其进行初始化。

通常,这里要做的是使用构造函数,但由于 go 在传统意义上并不是真正的 OOP,因此这些不是真正的对象,并且它没有构造函数。

我注意到了 init 方法,但那是在包级别。还有其他类似的东西可以在结构级别使用吗?

如果不是,那么 Go 中此类事物的公认最佳实践是什么?

正确答案

实际上有两种公认的最佳实践:

  1. 使结构的零值成为合理的默认值。(虽然这对于大多数来自“传统” oop 的人来说看起来很奇怪,但它通常可以工作并且非常方便)。

  2. 提供一个函数func New() YourTyp,或者如果你的包函数中有几个这样的类型func NewYourType1() YourType1等等。

记录您的类型的零值是否可用(在这种情况下,它必须由其中一个New...函数设置。(对于“传统主义者”哎呀:不阅读文档的人将无法使用你的类型正确,即使他不能在未定义的状态下创建对象。)

终于介绍完啦!小伙伴们,这篇关于《聊聊Golang中的构造函数》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表