package main import "fmt" func main() { str := "Go is a beautiful language!" fmt.Printf("The length of str is: %d\n", len(str)) for pos, char := range str { fmt.Printf("Character on position %d is: %c \n", pos, char) } fmt.Println() str2 := "Chinese: 日本語" fmt.Printf("The length of str2 is: %d\n", len(str2)) for pos, char := range str2 { fmt.Printf("character %c starts at byte position %d\n", char, pos) } fmt.Println() fmt.Println("index int(rune) rune char bytes") for index, rune := range str2 { fmt.Printf("%-2d %d %U '%c' % X\n", index, rune, rune, rune, []byte(string(rune))) } } /* Output: The length of str is: 27 Character on position 0 is: G Character on position 1 is: o Character on position 2 is: Character on position 3 is: i Character on position 4 is: s Character on position 5 is: Character on position 6 is: a Character on position 7 is: Character on position 8 is: b Character on position 9 is: e Character on position 10 is: a Character on position 11 is: u Character on position 12 is: t Character on position 13 is: i Character on position 14 is: f Character on position 15 is: u Character on position 16 is: l Character on position 17 is: Character on position 18 is: l Character on position 19 is: a Character on position 20 is: n Character on position 21 is: g Character on position 22 is: u Character on position 23 is: a Character on position 24 is: g Character on position 25 is: e Character on position 26 is: ! The length of str2 is: 18 character C starts at byte position 0 character h starts at byte position 1 character i starts at byte position 2 character n starts at byte position 3 character e starts at byte position 4 character s starts at byte position 5 character e starts at byte position 6 character : starts at byte position 7 character starts at byte position 8 character 日 starts at byte position 9 character 本 starts at byte position 12 character 語 starts at byte position 15 index int(rune) rune char bytes 0 67 U+0043 'C' 43 1 104 U+0068 'h' 68 2 105 U+0069 'i' 69 3 110 U+006E 'n' 6E 4 101 U+0065 'e' 65 5 115 U+0073 's' 73 6 101 U+0065 'e' 65 7 58 U+003A ':' 3A 8 32 U+0020 ' ' 20 9 26085 U+65E5 '日' E6 97 A5 12 26412 U+672C '本' E6 9C AC 15 35486 U+8A9E '語' E8 AA 9E */