一、定義
經常在開源庫中,能rune關鍵字,從golang源碼中看出,它是int32的別名(-2^31 ~ 2^31-1),對于byte(-128~127),可表示的字符更多。
二、使用
由于rune可表示的范圍更大,所以能處理一切字符,當然也包括中文字符。在平時計算中文字符,可用rune。
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
var chinese = "我是中國人, I am Chinese"
fmt.Println("chinese length", len(chinese))
fmt.Println("chinese word length", len([]rune(chinese)))
fmt.Println("chinese word length", utf8.RuneCountInString(chinese))
}
//輸出,注意在golang中一個漢字占3個byte
chinese length 31
chinese word length 19
chinese word length 19