jenis rune dalam golang
Dalam golang, rune adalah bersamaan dengan int32, tetapi biasanya digunakan untuk penukaran aksara. Kaedah len() dalam golang terutamanya mengira panjang tatasusunan.
Rentetan storan lalai dalam golang adalah dalam format utf8 menggunakan storan bait panjang berubah-ubah disimpan dalam bait tunggal, dan bahasa Cina disimpan dalam 3 bait, jadi hasil pelaksanaan -1 dan -. 2 Ia 16 dan 15. Terdapat dua cara dalam golang: utf8.RuneCountInString dan []rune() untuk menukar utf8 kepada storan int32 4-bait, dan kemudian mengira panjang tatasusunan int32.
-1 address := "this is shanghai" fmt.Println("len(address):",len(address)) -2 address := "this is shanghai" fmt.Println("len(address):",len(address)) -3 addressThree := "这是在上海" fmt.Println("len(address):",utf8.RuneCountInString(addressThree)) -4 fmt.Println("len(address):",len([]rune(addressThree))) -5 unicode.Is(unicode.Han, c) //可以判断字符是否是汉语
Keputusan
-1 len(address): 16 -2 len(address): 15 -3 len(address): 5 -4 len(address): 5