Sobes.tech
Middle

Wat is een iteratie over een string met for range in Go? Wat zijn de variabelen i en v binnen de lus, wat zijn hun datatypes?

sobes.tech AI

Antwoord van AI

In Go wordt de constructie for range gebruikt om over collecties te itereren, inclusief strings. Bij iteratie over een string met for i, v := range str:

  • i is de index van het huidige teken in de string, van het type int.
  • v is de waarde van het huidige teken, van het type rune (Unicode-codepunt).

Dit is belangrijk omdat in Go strings sequenties van bytes zijn, en range over een string precies de rune-tekens teruggeeft, die multibyte-tekens in UTF-8 correct afhandelen.

Voorbeeld:

str := "Привет"
for i, v := range str {
    fmt.Printf("Index: %d, Teken: %c, Type: %T\n", i, v, v)
}

De uitvoer toont de byte-indices van het begin van elk teken en de tekens zelf als runes.