gpt4 book ai didi

pointers - 将结构成员作为指针是否很常见?

转载 作者:IT老高 更新时间:2023-10-28 13:09:10 25 4
gpt4 key购买 nike

go github package 为例.几乎每个定义的结构的每个成员都是指向值而不是值的指针。

这是惯用的围棋吗?为什么?

我知道它减小了结构的大小(假设指针的大小小于它指向的值的大小),如果您经常按值传递结构,这可能很重要。但是为什么不使用值结构并通过指针传递结构呢?

最佳答案

在 github 包中,原因是大多数结构旨在从 github api 的 json 序列化/反序列化。

他们使用*int而不是int的原因是因为指针的零值是nil,而int0。它允许客户端区分“此字段未包含在响应中”和“此字段的值为零”。

这对于像时间这样的事情特别有用,如果你没有可空类型,你最终会得到很多 00-00-0000 类型的日期。

关于pointers - 将结构成员作为指针是否很常见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33361070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com