go语言遍历中文字符串如何实现?

oh_Maxy 2017-08-04 03:13:54
rt。go没有字符类型,go的字符串处理,会将中文解析成三个byte的utf-8,这时候该如何遍历中文字符串?
比如我的字符串 str="我是中国人"。
我现在希望通过go,将这5个字,一个一个打印出来,请问有啥高效的方法吗?

此外,如果是中文和英文混杂的情况,又该如何遍历字符?
...全文
961 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
oh_Maxy 2017-08-07
  • 打赏
  • 举报
回复
引用 1 楼 suiyunonghen 的回复:
转化为[]rune数组,然后range就行了,如

test :=([]rune) ("测试人")
for idx,m := range test do{
    fmt.Println(idx)
   fmt.Println(m);
}
fmt.Println(string(m)) 改成这样就可以了,多谢~
oh_Maxy 2017-08-07
  • 打赏
  • 举报
回复
引用 1 楼 suiyunonghen 的回复:
转化为[]rune数组,然后range就行了,如

test :=([]rune) ("测试人")
for idx,m := range test do{
    fmt.Println(idx)
   fmt.Println(m);
}
do是不是多余了?另外,打印出来的不是中文字符。。。
不得闲 2017-08-06
  • 打赏
  • 举报
回复
转化为[]rune数组,然后range就行了,如

test :=([]rune) ("测试人")
for idx,m := range test do{
    fmt.Println(idx)
   fmt.Println(m);
}

2,348

社区成员

发帖
与我相关
我的任务
社区描述
go语言学习与交流版
社区管理员
  • go语言社区
  • 俺叫西西弗斯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧