... range s ... (letter int32)
the letter at 0 is 't'
the letter at 1 is 'h'
the letter at 2 is 'i'
the letter at 3 is 's'
the letter at 4 is ':'
the letter at 5 is ' '
the letter at 6 is 'こ'
the letter at 9 is 'ん'
the letter at 12 is 'に'
the letter at 15 is 'ち'
the letter at 18 is 'は'
the letter at 21 is '.'
name = "this: こんにちは."
is 12 long
... range []rune(s) (letter rune)
the letter at 0 is 't'
the letter at 1 is 'h'
the letter at 2 is 'i'
the letter at 3 is 's'
the letter at 4 is ':'
the letter at 5 is ' '
the letter at 6 is 'こ'
the letter at 7 is 'ん'
the letter at 8 is 'に'
the letter at 9 is 'ち'
the letter at 10 is 'は'
the letter at 11 is '.'
name = "this: こんにちは."
is 12 long
... range []byte(s) (s byte)
the letter at 0 is 't'
the letter at 1 is 'h'
the letter at 2 is 'i'
the letter at 3 is 's'
the letter at 4 is ':'
the letter at 5 is ' '
the letter at 6 is 'ã'
the letter at 7 is ''
the letter at 8 is ''
the letter at 9 is 'ã'
the letter at 10 is ''
the letter at 11 is ''
the letter at 12 is 'ã'
the letter at 13 is ''
the letter at 14 is '«'
the letter at 15 is 'ã'
the letter at 16 is ''
the letter at 17 is '¡'
the letter at 18 is 'ã'
the letter at 19 is ''
the letter at 20 is '¯'
the letter at 21 is '.'
name = "this: こんにちは."
is 22 long
(spoiler)
....
> Think about what a rune is. A rune represents a Unicode code point, which can be composed of multiple bytes and also have different representations depending on the encoding.