Junior — Middle
Kokią informaciją grąžina funkcija len apdorojus eilutę?
sobes.tech AI
Atsakymas iš AI
Go kalboje, funkcija len, taikoma eilutei, grąžina tų baitų skaičių, o ne simbolių (rune) skaičių.
Tai yra todėl, kad eilutės Go kalboje saugomos UTF-8 formatu, kuriame vienas simbolis gali užimti nuo 1 iki 4 baitų. Todėl len grąžina ilgį baitais.
Pavyzdys:
package main
import (
"fmt"
)
func main() {
s := "Привет" // rusų žodis
fmt.Println(len(s)) // Parodys baitų skaičių, pvz., 12
}
Jei norite gauti simbolių (rune) skaičių, turite konvertuoti eilutę į rune skaičių masyvą:
runes := []rune(s)
fmt.Println(len(runes)) // Parodys simbolių skaičių, pvz., 6
Taigi, len eilutėje yra baitų ilgis, o ne simbolių skaičius.