登录
首页 >  Golang >  Go问答

赋予零价值以意义的有效途径

来源:stackoverflow

时间:2024-02-22 11:18:14 471浏览 收藏

本篇文章给大家分享《赋予零价值以意义的有效途径》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

我有一个带有 int16 的结构,表示切片中索引的偏移量。该值有2种状态: 1. 可能是偏移量无效; 2. 它是有意义的,实际上代表正值、负值或零值偏移。现在的问题是我要分配一个这个结构体的数组,这个int16的默认值应该是无效状态,但是默认值是0,0也可以代表值为0的有效偏移量。

目前我使用-32768作为值来表示无效状态,并在使用make后手动初始化数组。但是,我不喜欢这种方法,它不遵循 Go 方式使零值有意义。有更好的方法来解决这个问题吗?我真的不想引入额外的变量,因为这会占用更多的内存空间。


正确答案


找到了解决方案。我可以使用 uint16 存储它并使用 math.minint16 偏移它。这样默认值0是-32768,被视为无效状态,所有其他数字都有效。

理论要掌握,实操不能落!以上关于《赋予零价值以意义的有效途径》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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