golang——rune使用詳解
一、定義
經常在開源庫中,能rune關鍵字,從golang原始碼中看出,它是int32的別名(-231~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