生活随笔
收集整理的這篇文章主要介紹了
golang之字符串
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
golang的字符串(string)有兩種類(lèi)型:
一種是byte類(lèi)型,或者叫uint8類(lèi)型,代表ASCII碼的一個(gè)字符;
一種是rune類(lèi)型,或者叫int32類(lèi)型,代表UTF-8的一個(gè)字符,當(dāng)需要處理中文、日文等unicode字符時(shí),則需要用到?rune?類(lèi)型。
UTF-8是unicode的一種。
func main() {travelString()updateString()countHanString()
}func travelString() {str := "hello傅里葉"// byte類(lèi)型for i := 0; i < len(str); i++ {fmt.Printf("%v(%c) ", str[i], str[i])}fmt.Println()// rune類(lèi)型for _, s := range str {fmt.Printf("%v(%c) ", s, s)}fmt.Println()
}func updateString() {str1 := "hello"byteStr := []byte(str1) // 強(qiáng)制類(lèi)型轉(zhuǎn)換byteStr[0] = 'a'fmt.Println(string(byteStr))str2 := "傅里葉"runeStr := []rune(str2) // 強(qiáng)制類(lèi)型轉(zhuǎn)換runeStr[0] = '佛'fmt.Println(string(runeStr))
}
func countHanString() {str := "hello傅里葉"var count intfor _, s := range str {if unicode.Is(unicode.Han, s) {count++}}fmt.Println(count)
}output:
104(h) 101(e) 108(l) 108(l) 111(o) 229(?) 130() 133() 233(é) 135() 140() 229(?) 143() 182(?)
104(h) 101(e) 108(l) 108(l) 111(o) 20613(傅) 37324(里) 21494(葉)
aello
佛里葉
3
總結(jié)
以上是生活随笔為你收集整理的golang之字符串的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。