go 语言中的 rune

Python030

go 语言中的 rune,第1张

rune是Go语言中一种特殊的数据类型,它是int32的别名,几乎在所有方面等同于int32,用于区分字符值和整数值,官方解释如下:

下面我们通过一个例子来看一下:

我们猜测一下结果,hello5 个字符+1 个空格+3 个汉子,算起来应该是 9 个,长度为 9 才对,但是我们执行一下,

结果打印是 15,这是为什么呢?

所以计算出的长度就等于 5+1+3*3=15

如果我们需要计算出字符串的长度,而不是底层字节的个数,那么可以使用下面的方法:

运行结果如下:

在 rune 定义上方还有一个,byte = uint8

通过String自带的length()方法获取字符串长度。 String a="abcdefg"//定义一个字符串int len = a.length()//通过length获取字符串长度,这里等于7length()该方法返回此字符串的长度。长度是等于Unicode代码单元中的字符串的数目。