Go语言中rune方法使用详解

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

1.byte类型

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

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

例子:

代码:

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取出来却是乱码??。

作者:胡桃木子原文地址:https://blog.csdn.net/weixin_42918559/article/details/125064783

%s 个评论

要回复文章请先登录注册