Sobes.tech
Junior — Middle

Jak lze v kódu postupně projít znaky řetězce?

sobes.tech AI

Odpověď od AI

V Go se k procházení znaků řetězce (runes) používá cyklus for range. To je důležité, protože řetězec v Go je posloupnost bajtů a Unicode znaky mohou zabírat více bajtů.

Příklad:

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

Zde je r rune (Unicode znak) a i je index bajtu, od kterého tento znak začíná v řetězci.

Tento přístup umožňuje správně zpracovávat vícejazyčné řetězce a znaky, které zabírají více než jeden bajt.