Go语言中rune方法如何使用

Go语言中rune方法如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1.byte类型

byte类型是uint8的别名,表示一个字节,
2.rune类型

rune类型是Go语言中的一个基本类型,其实就是一个int32的别名,主要用于表示一个字符类型大于一个字节小于等于4个字节的情况下,特别是中文字符。

例子:
![在这里插入图片描述](https://img-blog.csdnimg.cn/d0d20055ca4242dfb6cb53a54459d968.png代码:
代码:

import "fmt"

func main(){
    
    

	//在读程序之前读者,可以先思考这四行代码输出什么内容
	fmt.Println(string(97))//前置,输出是a
	fmt.Println(string(20320))
	temp:=[]rune{
    
    20320,22909,32,19990,30028}
	fmt.Println(string(temp))

	var str string="hello world"
	fmt.Println("byte=",[]byte(str))
	fmt.Println("byte=",[]rune(str))
	fmt.Println(str[:2])
	fmt.Println(string([]rune(str)[:2]))

	var str2 string="你好 世界"
	fmt.Println("byte=",[]byte(str2))
	fmt.Println("byte=",[]rune(str2))
	fmt.Println(str2[:2])
	fmt.Println(string([]rune(str2)[:2]))
}

结果分析:通过上面的输出结果,我们可以看出,1). 对于英文字符串,不管是用rune类型还是byte类型,不管是字符串的长度还是取值,都是相同的。2).对于中文字符来说,rune类型的操作就比byte类型的操作更加友好很多,我们可以通过[:]操作直接取出中文的对应数量,而byte取出来却是乱码??。

猜你喜欢

转载自blog.csdn.net/weixin_42918559/article/details/125064783
今日推荐