Что выведет следующая программа?
package main import "fmt" func main() { s := "Go!" for i, r := range s { fmt.Println(i, r) } }
0 G / 1 o / 2 ! — range выводит байтовую позицию и символ как строку
0 G
1 o
2 !
1 G / 2 o / 3 ! — range нумерует символы начиная с 1, выводя их как строку
1 G
2 o
3 !
0 71 / 1 111 / 2 33 — байтовые позиции и кодовые точки рун как целые числа
0 71
1 111
2 33
0 71 / 1 111 / 2 33 — но выводится только при импорте пакета unicode/utf8
Ошибка компиляции: range нельзя применять к значению типа string в Go