Junior — Middle
Jakie wyniki uzyskuje się podczas sekwencyjnego przechodzenia przez znaki łańcucha?
sobes.tech AI
Odpowiedź od AI
Przy sekwencyjnym przechodzeniu po znakach ciągu w Go (Golang) zwykle używa się pętli for range, która iteruje po runach (runes) — punktach kodu Unicode.
Wynikiem takiego przejścia jest uzyskanie każdego znaku ciągu jako wartości typu rune oraz jego pozycji (indeksu w bajtach).
Przykład:
package main
import (
"fmt"
)
func main() {
s := "Привет"
for i, r := range s {
fmt.Printf("Indeks: %d, Znak: %c\n", i, r)
}
}
Wyjście będzie zawierać indeks (w bajtach) i odpowiadający mu znak. Jest to ważne, ponieważ w UTF-8 znaki mogą zajmować różną liczbę bajtów.
W ten sposób sekwencyjne przejście pozwala poprawnie pracować z łańcuchami Unicode, uzyskując każdy znak w całości, a nie pojedyncze bajty.