Go 数据类型(五)字符串及底层字符类型

Go 数据类型(五)字符串及底层字符类型,第1张

ASCII码:1B

其它字符:2-4B

中文编码:3B

fmtPrintf("the length of \"%s\" is %d \n",str,len(str))

或者使用 + 连接:

字符串可以通过数组下标方式访问其中的字符,一旦初始化后,内容不能修改

连接:

切片:

左闭右开区间

底层字符类型:

UTF-8编码按照上述方法转换会变乱码,因为一个中文字符编码需要三个字节。

这个是字体的问题

进入设定——主机设定——文字设定——选936的那个简体中文字体

但是刷机的时候还是要选择850的那个字体才能成功。

你在去看哪个列表就不是乱码是简体中文了。

首先说一下go中的字符串类型:

字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言的字符串的字节使用UTF-8编码标识Unicode文本。

下面介绍字符串的三种遍历方式,根据实际情况选择即可。

该遍历方式==缺点==:遍历是按照字节遍历,因此如果有中文等非英文字符,就会出现乱码,比如要遍历"abc北京"这个字符串,效果如下:

可见这不是我们想要的效果,根据utf-8中文编码规则,我们要str[3]str[4]str[5]三个字节合起来组成“北”字及 str[6]str[7]str[8]合起来组成“京”字。由此引出下面第二种遍历方法。

该方式是按照字符遍历的,所以不会出现乱码,如下:

运行结果:

从图中可以看到第二个汉子“京”的开始下标是6,直接跳过了4和5,可见确实依照utf8编码方式将三个字节组合成了一个汉字,str[3]-str[5]组合成“北”字,str[6]-str[8]组合成了“京”字。

由于下标的不确定性,所以引出了下面的遍历方式。

1 可以先将字符串转成 []rune 切片

2 再用常规方法进行遍历

运行效果:

由此可见下标是按1递增的,没有产生跳跃现象。

historyback()

功能:加载历史列表中的前一个URL(后退)。

语法:historyback()

调用该方法的效果等价于点击后退按钮或调用historygo(-1)。

historyforward()

功能:加载历史列表中的下一个URL(前进)。

语法:historyforward()

调用该方法的效果等价于点击前进按钮或调用historygo(1)。

historygo()

功能:加载历史列表中的某个具体的页面。

语法:historygo(number)

参数:

number:要访问的URL在History的URL列表中的相对位置

-1代表前一个(forward),0代表当前,1代表(back)后一个。

1(向后) <----- 0(当前) -----> -1(向前)

historygo(-1) == historyforward()

historygo(1) == historyback()

historycurrent, historynext

以上就是关于Go 数据类型(五)字符串及底层字符类型全部的内容,包括:Go 数据类型(五)字符串及底层字符类型、pspgo音乐菜单怎么全是乱码啊怎么改成中文、Go中字符串的遍历等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10105000.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存