Junior — Middle
Jak można kolejno przejść przez znaki wiersza w kodzie?
sobes.tech AI
Odpowiedź od AI
W Go, do sekwencyjnego przechodzenia po znakach ciągu (runach), używa się pętli for range. Jest to ważne, ponieważ w Go, ciąg znaków to sekwencja bajtów, a znaki Unicode mogą zajmować kilka bajtów.
Przykład:
s := "Привет"
for i, r := range s {
fmt.Printf("Znak %c zaczyna się od bajtu %d\n", r, i)
}
Tutaj, r to runa (znak Unicode), a i to indeks bajtu, od którego zaczyna się ten znak w ciągu.
Takie podejście pozwala poprawnie obsługiwać wielojęzyczne ciągi i znaki zajmujące więcej niż jeden bajt.