首页  >  文章  >  后端开发  >  何时以及为什么应该在 Go 中将“new”与结构一起使用?

何时以及为什么应该在 Go 中将“new”与结构一起使用?

Patricia Arquette
Patricia Arquette原创
2024-10-25 01:21:02147浏览

When and Why Should You Use `new` with Structs in Go?

理解 Go 中 new 的用途

与原始语言构造相反,将 new 与结构体一起使用提供了一些实用性。虽然 new(MyStruct) 和 &MyStruct{} 实现了类似的结果,但它们的选择取决于代码的清晰度和表现力。

new 在初始化非原始数据类型(例如结构体)方面发挥着至关重要的作用。 Go 缺乏构造函数支持可以通过将 new 包装到自定义函数(例如 NewMyStruct())中来解决。这种方法可以实现灵活的初始化,包括私有字段的操作和提供自定义构造函数以防止对结构内部的不受控制的访问。它还简化了结构调整,避免在修改结构布局时对现有用户造成干扰。

请记住,切片和映射不能使用 new 进行初始化。相反,需要 make 命令,如 make([]float, 100)。

以上是何时以及为什么应该在 Go 中将“new”与结构一起使用?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn