首先运行下面代码

var str string ="hello,北京"
for i:=0 ;i <len(str);i++{fmt.Printf("%c",str[i])
}

发现输出结果为

问题原因:如果我们的字符串含有中文,那么传统的遍历字符串的方式,就是错误,会出现乱码,因为传统的字符串遍历时按照字节去遍历的,而一个汉字在utf8编码中对应三个字节

解决方式1:把str转成[]rune切片

var str string ="hello,北京"
str2:=[]rune(str)
for i:=0 ;i <len(str2);i++{fmt.Printf("%c",str2[i])
}

解决方式2:改为for-range循环

for index, val := range str {fmt.Printf("index=%d,val=%c \n", index, val)
}

所以你会发现在遍历到北京的时候,会跳过三个index,所以对于for-range而言,是按照字符的方式遍历,所以就算有中文也是ok的

go语言中遍历中文出现乱码相关推荐

  1. Js的Url中传递中文参数乱码的解决

    一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面 Javascript代码: 2. 接收参数页面:test02.html 二:如何获取Url ...

  2. java邮件附件名称乱码_Javamail 中附件中文名字乱码祥解 (转)

    Javamail 中附件中文名字乱码祥解 (转)[@more@]现在研究JavaMail的人越来越多,现在我就谈谈在javamail中大家都会遇到的附件中文问题,由于sun的java的中文问题,导致当 ...

  3. 取出Cookie中的中文显示乱码解决方法。经验证第三种方法有效。

    取出Cookie中的中文显示乱码解决方法 HttpUtility.UrlEncode(Response.Cookies[ "newcookie "].Values);  HttpU ...

  4. linux minicon乱码,路径中带中文出现乱码问题

    路径中带中文出现乱码问题 來源:互聯網  2016-05-28 09:34:21  評論 路径中带中文出现乱码问题做项目的时候我们可能会遇到需要使用路径传参数的问题,如果参数是数字或者英文,那肯定不会 ...

  5. 解决ubuntu下crossover中qq中文字体乱码问题

    本文适应于ubuntu16.04,crossover16.2.0-1.(如使用qq推荐使用腾讯qq8.9-2,点击下方的安装windows软件,在输入框输入"qq"两字即可看到) ...

  6. vs2012编程中输出中文出现乱码

    关于"vs2012编程中输出中文出现乱码"问题的探究 问题如下: //代码如下// #include<iostream> using namespace std; in ...

  7. linux crossover 乱码,解决ubuntu下crossover中qq中文字体乱码问题

    本文适应于ubuntu16.04,crossover16.2.0-1.(如使用qq推荐使用腾讯qq8.9-2,点击下方的安装windows软件,在输入框输入"qq"两字即可看到) ...

  8. jmeter-察看结果树-响应数据中的中文显示乱码

    jmeter-察看结果树-响应数据中的中文显示乱码 jmeter\bin\jmeter.properties 默认编码为:ISO-8859-1 # The encoding to be used if ...

  9. oracle11g怎么显示中文,ORACLE11G中PLSQL中文显示乱码、Linux下sqlplus查询中文乱码

    问题描述: 本地是win7操作系统,cmd里面sqlplus进去连接oracle数据库,中文可以正常显示,但是plsql连接oracle数据库,中文显示乱码,还有xshell远程连接oracle服务器 ...

  10. c语言中文网_在C语言中使用中文字符

    大部分C语言教材对中文字符的处理讳莫如深,甚至只字不提,导致很多初学者认为C语言只能处理英文,而不支持中文.其实C语言是一门全球化的编程语言,它支持世界上任何一个国家的语言文化,包括中文.日语.韩语等 ...

最新文章

  1. IPv6地址分类及表示方法
  2. java多线程-死锁的一些问题
  3. python第七关再来一盘_Python爬虫自学系列(七) — 项目实战篇(一)
  4. esxi添加网卡驱动
  5. 北京/苏州内推 | 微软亚洲互联网工程院招聘算法工程师/应用科学家
  6. QUIC助力Snapchat提升用户体验
  7. [设计模式]中介者模式之Events消息传递实现
  8. halcon标定后改变世界坐标系参考点方法
  9. JSON数据从OSS迁移到MaxCompute最佳实践 1
  10. yum更换国内源、yum下载rpm包、源码包安装
  11. .NETCore中实现ObjectId反解
  12. EDA技术实用教程VHDL篇--名词释义
  13. 求边界点 -- Python
  14. 基于android的校园新闻app,移动端校园新闻APP的设计探析
  15. ug钣金冲压成型--混合折弯
  16. 操作系统笔记 清华大学陈渝
  17. 非标资产与标准资产_资产商店行动新闻– 2011年10月!
  18. 6. Z 字形变换(给定字符串,画N后逐行拼接成新字符串)
  19. VSCode图片无法显示(已解决)
  20. 【生活】买了个大玩具

热门文章

  1. 小叮当的2021年年终总结
  2. css设置背景色透明,字体颜色不透明
  3. 【ios】为什么要在Other Linker Flags添加Flag (eg:-ObjC、-lc++等)?
  4. Python 处理 PDF 的神器 -- PyMuPDF(下)
  5. Android 调用系统拍照后返回的图片变小了(变模糊了)
  6. matlab截掉空间曲面一部分,用Matlab作空间曲面的切平面及法线图像.ppt
  7. 远程办公——如何在外远程控制家里/公司的电脑,利用cpolar内网穿透
  8. 概率导论-马尔可夫相关
  9. html 手机端可以选择复制粘贴,js移动端实现网站内容复制粘贴功能
  10. iRightMouse 1.2.0 中文版 (超赞的Mac右键菜单扩展)