首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >指针在鸟巢结构中的应用

指针在鸟巢结构中的应用
EN

Stack Overflow用户
提问于 2021-11-07 05:31:51
回答 2查看 1.2K关注 0票数 2

我对golang很陌生,并学习如何在嵌套的struct类型中消除引用。当我通常搜索嵌套结构时,他们会建议使用How to initialize a nested struct?中@OneOfOne建议的方法

然而,在工作中阅读代码基时,我注意到团队也使用嵌套指针。我搞不懂我什么时候该用这个。即。嵌套结构req Person与嵌套指针req *Person

示例

键入Person struct { Name string Age int8 }

  • args

类型args结构{ req *Person }

EN

回答 2

Stack Overflow用户

发布于 2021-11-07 08:37:39

结构属性(结构大小除外)中指针的一个常见用例是所述属性的可选性。虽然我不知道特定的用例,但我可以猜测它可能指某种可选的关系。

例如:具有Customer结构属性的LastOrder结构。由于客户可能还没有下过单次订单,所以将其保留为指针引用可能是有意义的,这样可以发出可能为零的信号。

另一个使用指针属性的用例是在类似图的或引用的数据结构中。考虑一下Person结构,它同时具有MotherFather属性。如果将这些设置为Person类型,编译器将返回一个错误,因为生成的结构将无限递归。在这种情况下,这些也必须设置为指针。

希望答案能帮上忙。

票数 1
EN

Stack Overflow用户

发布于 2021-11-07 15:42:46

当您希望它是一个可选字段时,您应该使用指针(因为在初始化一个变量时,您可以简单地为它分配一个零指针),当一个大小很大并且希望提高应用程序的性能时,或者如果您想要一个指向相同类型的变量的字段,例如:

代码语言:javascript
复制
type Node struct {
    Data int
    Left *Node
    Right *Node
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69870054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档