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使人想到数字