Sobes.tech
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.