golang rune和int32有什么区别呢?
rune实际上就是int32
从源码可知rune实际上就是int32的别名
type rune = int32
rune主要是用来处理unicode字符的,比如说
s := "你好"
fmt.Println(s[1:])
截取出来并不是“好”,所以需要将字符转换为rune,然后再转为string就可以得到期望中的中文字符
s := "你好"
r := []rune(s)
fmt.Println(string(r[1:]))
实际上当我们将字符转换为int32,转换回string也会得到同样期待中的中文字符
s := "你好"
sr:=[]int32(s)
fmt.Println(string(sr[1:]))
那么rune到底和int32有什么区别呢?
可能就是名字吧,rune让人想到字符,而int32使人想到数字
rune在Golang中是int32的别名,主要用于处理unicode字符。虽然可以将字符直接转换为int32再转回string,但使用rune更符合语义,有助于处理中文字符等Unicode编码问题。文章通过示例展示了rune在字符串操作中的作用。
1783

被折叠的 条评论
为什么被折叠?



