go语言中文处理

中文在go语言中占三个字节,len 或者 range 一个含中文的字符串跟我们预期的结果不一样

求长度用 utf8.RuneCountInString,遍历用 rune
func main() {
    txt := "abc好好学习"
    fmt.Println("len长度:", len(txt),"\nutf8长度:",utf8.RuneCountInString(txt))
    for k, v := range []rune(txt) {
        fmt.Printf("k:%d,v:%c \n", k, v)//直接打印v的话是ascii码对照表
    }
}

打印结果:

猜你喜欢

转载自www.cnblogs.com/xbblogs/p/9230966.html