登录
首页 >  Golang >  Go问答

为什么 golang 中的 rune 是 int32 而不是 uint32 的别名?

来源:Golang技术栈

时间:2023-04-15 19:11:01 383浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《为什么 golang 中的 rune 是 int32 而不是 uint32 的别名?》,主要内容是讲解golang等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

runeGo 中的类型定义为

和的别名在所有方面int32都等价于。int32按照惯例,它用于区分字符值和整数值。

如果打算使用这种类型来表示字符值,为什么 Go 语言的作者不使用uint32而不是int32rune当一个值为负时,他们如何期望在程序中处理一个值?另一种类似的类型,byteuint8(而不是int8)的别名,这似乎是合理的。

正确答案

我用谷歌搜索并找到[了这个](https://groups.google.com/forum/#!topic/golang- nuts/d3_GPK8bwBg)

这已经被问过好几次了。rune 占用 4 个字节,而不仅仅是一个,因为它应该存储 unicode 代码点,而不仅仅是 ASCII 字符。与数组索引一样,数据类型是有符号的,因此您可以在对这些类型进行算术运算时轻松检测溢出或其他错误。

到这里,我们也就讲完了《为什么 golang 中的 rune 是 int32 而不是 uint32 的别名?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于golang的知识点!

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