Sobes.tech
Junior — Middle

Ako postupne prechádzať znaky reťazca v kóde?

sobes.tech AI

Odpoveď od AI

V Go sa k prechádzaniu sekvenčne znakov reťazca (runes) sa používa slučka for range. To je dôležité, pretože v Go je reťazec sekvenciou bajtov a Unicode znaky môžu zaberáť viac bajtov.

Príklad:

s := "Привет"
for i, r := range s {
    fmt.Printf("Znak %c začína na bajte %d\n", r, i)
}

Tu je r rune (Unicode znak) a i je index bajtu, od ktorého tento znak začína v reťazci.

Tento prístup umožňuje správne spracovanie viacjazyčných reťazcov a znakov, ktoré zaberajú viac než jeden bajt.