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