栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在golang中创建对象后,如何确保使用方法?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在golang中创建对象后,如何确保使用方法?

无法强制调用

Close()
方法。最好的办法就是清楚地记录下来,如果不再需要类型的值,则
Close()
必须调用其方法。

在极端情况下,如果程序被强制终止,则不能保证任何代码都会运行。

请注意,有一个

runtime.SetFinalizer()
函数允许您注册一个函数,当垃圾回收器发现值/块不可访问时将调用该函数。但是请注意,不能保证您注册的功能将在程序退出之前运行。引用其文档:

无法保证终结器会在程序退出之前运行,因此通常它们仅对在长时间运行的程序期间释放与对象关联的非内存资源有用。

一个好的设计是使您的类型不导出,但是提供一个导出的构造函数,例如

NewMyType()
,您可以在其中正确地初始化struct
/类型。还返回接口类型而不是具体类型,并且该接口应包含其他人希望对您的值进行的操作。当然,您的具体类型必须实现该接口。
Close()
当值完成后,您不能强迫其他人调用它的方法,但是至少您可以停止担心初始化不当。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/393321.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号