登录
首页 >  Golang >  Go问答

为什么 big.NewInt(0).Bytes() 返回而不是 Go 中?

来源:stackoverflow

时间:2024-03-07 13:09:28 343浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《为什么 big.NewInt(0).Bytes() 返回而不是 Go 中?》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

我发现运行 big.NewInt(0).Bytes() 返回 [] 而不是 [0] 很奇怪。它真的应该这样工作吗?

https://play.golang.org/p/EEaS8sCvhFb


正确答案


big.Int 是一个结构。只要有可能,就让 zero value 发挥作用是惯用的做法。 big.Int 也不例外:Int 的零值表示值 0

这是一个实现细节,但 Int 的数据存储在切片中。切片的零值为 nil,即:没有元素。

所以这非常方便,而且非常高效。 0 可能是最常见的值,并且可能存在初始 big.Int 不会更改的情况,因此不会分配内部表示的切片。

查看相关:Is there another way of testing if a big.Int is 0?

今天关于《为什么 big.NewInt(0).Bytes() 返回而不是 Go 中?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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