go 语言中的 rune

Python012

go 语言中的 rune,第1张

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

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

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

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

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

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

运行结果如下:

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

C语言的字符串是由字符数组形式保存的,并约定'\0'(ascii码值为0)作为字符串结束符。

其长度为从字符串开始,到'\0'结束,所有字符的个数,不包括'\0'本身。

要获得字符串长度,有两种方法可以使用:

使用库函数strlen()。

strlen声明在string.h中,原型为int strlen(char *str)

功能为求str的长度,并返回。

根据定义求长度。

对于字符串str, 可以用如下代码求长度:

int len

for(len = 0  len ++)

if(str[len] == '\0')break

当str[len]为0时,退出循环,退出后的len值就是str的长度。