golang - 字符串(string)长度
作者:孙三苗
字符串(string)长度计算字符串长度Go语言的内建函数len(),可以用来获取切片、字符串 、通道(channel)等的长度。注:返回的数据类型是int型。下面的代码可以用len()来获取字符串的长度。str_1:="hellogo!"fmt.Println(len(str_1))str_2:="你好,go!"fmt.Println(len(str_2))程序输出如下 :914len()函数的返回值的类型为int,表示字符串的ASC
字符串(string)长度
计算字符串长度
Go语言的内建函数len(),可以用来获取切片、字符串 、通道(channel)等的长度。注:返回的数据类型是
int
型。
下面的代码可以用len()来获取字符串的长度。
str_1 :="hello go!"
fmt.Println(len(str_1))
str_2 :="你好,go!"
fmt.Println(len(str_2))
程序输出如下 :
9
14
len()函数的返回值的类型为int,表示字符串的ASCII字符个数或字节长度。
输出中第一行的9表示str_1的字符个数为9
输出中第二行的14表示str_2的字符格式,也就是"你好,go!"的字符个数是14,然而根据习惯, "你好,go!"的字符个数应该是6
这里的差异是由于Go语言的字符串都以UTF-8格式保存,每个中文占用3个字节,因此使用len()获得两个中文文字和两个中文字符(,与!)对应的12个字节。
如果希望按习惯上的字符个数来计算,就需要使用Go语言中UTF-8包提供的RuneCountInString()
函数来统计Uncode字符数量。
下面的代码展示如何计算UTF-8的字符个数。
//计算含中文的字符串长度
fmt.Println("计算含中文的字符串长度: ",utf8.RuneCountInString("你好,go!"))
程序输出如下 :
计算含中文的字符串长度: 6
总结 :
ASCII字符串长度使用
len()
函数。Unicode字符串长度使用
utf8.RuneCountInString()
函数。
猜你喜欢
您可能感兴趣的文章:
- MYSQL中TRUNCATE和DELETE的区别
- PHP json_encode 空对象和空数组处理
- mac无法将“*.zip”解压到“文件夹”。错误22 无效的参数
- 我的web前端学习之路
- 2019主流的前端框架
- 史上最全的前端学习路线图,干货满满
- javascript学习路线图
- tree 树形结构搜索 显示子集
- 关于在vue项目中使用wangEditor 富文本编辑器
- mac 每次要重启bash_profile
- 项目总结(css3中的阴影效果)
- JavaScript之递归 详解!
- go/goland/phpstorm/webstorm 激活码
- php mysql 最后一个id(mysql_insert_id())
- 错误22无效的参数
- mysql alter table修改/ 增加表字段操作
- golang - 安装go
- golang - 包管理go modules
- golang -配置编辑工具GoLand