| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- 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
- */
|