如何获取字符串中的字符数

如何在Go中获取字符串的字符数?

例如,如果我有一个字符串,则"hello"该方法应返回5。我看到len(str)返回的字节数,而不是字符的数量,以便len("£")返回2而不是1,因为£被编码有在UTF-8的两个字节。


小怪兽爱吃肉
浏览 259回答 3
3回答

互换的青春

有一种方法可以通过将字符串转换为[] rune来获得不带任何包的符文计数len([]rune(YOUR_STRING)):package mainimport "fmt"func main() {    russian := "Спутник и погром"    english := "Sputnik & pogrom"    fmt.Println("count of bytes:",        len(russian),        len(english))    fmt.Println("count of runes:",        len([]rune(russian)),        len([]rune(english)))}字节数30 16符文数16 16

qq_笑_17

有几种获取字符串长度的方法:package mainimport (    "bytes"    "fmt"    "strings"    "unicode/utf8")func main() {    b := "这是个测试"    len1 := len([]rune(b))    len2 := bytes.Count([]byte(b), nil) -1    len3 := strings.Count(b, "") - 1    len4 := utf8.RuneCountInString(b)    fmt.Println(len1)    fmt.Println(len2)    fmt.Println(len3)    fmt.Println(len4)}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go