Junior — Middle
Jaké výsledky získáme při sekvenčním průchodu znaky řetězce?
sobes.tech AI
Odpověď od AI
Při sekvenčním průchodu znaky řetězce v Go (Golang) se obvykle používá smyčka for range, která iteruje přes runy (runes) — Unicodeové kódové body.
Výsledkem takové iterace je získání každého znaku řetězce jako hodnoty typu rune a jeho pozice (index v bajtech).
Příklad:
package main
import (
"fmt"
)
func main() {
s := "Привет"
for i, r := range s {
fmt.Printf("Index: %d, Znak: %c\n", i, r)
}
}
Výstup bude obsahovat index (v bajtech) a odpovídající znak. To je důležité, protože v UTF-8 mohou znaky zabírat různý počet bajtů.
Tímto způsobem umožňuje sekvenční průchod správnou práci s Unicode řetězci, získáváním každého znaku vcelku, nikoliv pouze jednotlivých bajtů.