blog.golang.org/strings
1、
const nihongo = "日本語"
for index, runeValue := range nihongo {
fmt.Printf("%#U starts at byte position %d\n", runeValue, index)
}
2、
const nihongo = "日本語"
for i, w := 0, 0; i < len(nihonggo); i+=w {
runeValue, width := utf8.DecodeRuneInString(nihonggo[i:])
fmt.Printf("%#U starts at byte position %d\n", runeValue, i)
w = width
}