登录 用户中心() [退出] 后台管理 注册
 
您的位置: 首页 首页 >> SoftHub关联区 >> SoftHub关联区 >> 主题: string rune byte 的关系[zt 其实就是传统语言中的 string 与 char]    [最新]
string rune byte 的关系[zt 其实就是传统语言中的 string 与 char]
浏览(0) - 2018-05-10 19:10:11 发表 编辑
经纬度拾取
关键字

[目前已存在于分组:]

关键字: golang

string rune byte 的关系[zt]

其实就是传统语言中的 string 与 char, 而 golang 中是没有 char 这个类型的,替代的是 rune 类型
--------------------------------------------------


http://www.golangtc.com/t/528cc004320b52227200000f


在Go当中 string底层是用byte数组存的,并且是不可以改变的。

例如 s:="Go编程" fmt.Println(len(s)) 输出结果应该是8因为中文字符是用3个字节存的。

len(string(rune('编')))的结果是3

如果想要获得我们想要的情况的话,需要先转换为rune切片再使用内置的len函数

fmt.Println(len([]rune(s)))

结果就是4了。

所以用string存储unicode的话,如果有中文,按下标是访问不到的,因为你只能得到一个byte。 要想访问中文的话,还是要用rune切片,这样就能按下表访问。

个人分类: Go语言




总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


该采集也在以下书单中



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2017 clq, All Rights Reserved
CLQ工作室 版权所有