如题,golang中为何类型rune是int32的别名,而不是uint32?搜了一下解释没太懂([why-is-rune-in-golang-an-alias-for-int32-and-not-uint32](https://stackoverflow.com/questions/24714665/why-is-rune-in-golang-an-alias-for-int32-and-not-uint32?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa)),望大佬解惑
看来这是个很有争议的问题啊,估计即使汤普逊本人,也有可能是自圆其说的多面解释,也就是就是这么设计的呗。
不过rune确实可以赋负值,完全当作int32来做运算。
同样的问题还有byte为什么是uint8,而不是int8;
rune为什么是int32,不是int16
#1
更多评论
byte为什么是uint8个人感觉比较好解释,int8表示不了127以上的值;rune为什么是int32,因为int16的取值覆盖不了unicode的编码范围。
#2