go获取字符串长度和遍历中英文字符串

package main

import (
    "fmt"
    "unicode/utf8"
)

func main()  {
    s := "你好,world"
    // 打印字符串长度
    fmt.Println(len(s))
    fmt.Println(utf8.RuneCountInString(s))

    // 遍历每个ASCII字符
    for i:=0;i<len(s);i++ {
        fmt.Printf("ascii: %c %d\n", s[i], s[i])
    }

    // 遍历每个Unicode字符
    for _, c := range s {
        fmt.Printf("Unicode: %c %d\n", c, c)
    }

}

程序输出:

14
8
ascii: ä 228
ascii: ½ 189
ascii:   160
ascii: å 229
ascii: ¥ 165
ascii: ½ 189
ascii: ï 239
ascii: ¼ 188
ascii: � 140
ascii: w 119
ascii: o 111
ascii: r 114
ascii: l 108
ascii: d 100
Unicode: 你 20320
Unicode: 好 22909
Unicode: , 65292
Unicode: w 119
Unicode: o 111
Unicode: r 114
Unicode: l 108
Unicode: d 100