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