← 返回首页
什么是 rune 类型
Go 语言的字符有以下两种:
-
uint8 类型,或者叫 byte 型,代表了 ASCII 码的一个字符。
-
rune 类型,代表一个 UTF-8 字符,当需要处理中文、日文或者其他复合字符时,则需要用到 rune 类型。rune 类型等价于 int32 类型。
package main import "fmt"func main() {
var str = "hello 你好" //思考下 len(str) 的长度是多少?//golang中string底层是通过byte数组实现的,直接求len 实际是在按字节长度计算 //所以一个汉字占3个字节算了3个长度 fmt.Println("len(str):", len(str)) // len(str): 12 //通过rune类型处理unicode字符 fmt.Println("rune:", len([]rune(str))) //rune: 8}