Junior — Middle
Koje informacije funkcija len vraća prilikom obrade niza?
sobes.tech АИ
Одговор од АИ
U jeziku Go, funkcija len primenjena na niz vraća broj bajtova u tom nizu, a ne broj karaktera (runeova).
To je zato što se nizovi u Go-u čuvaju u UTF-8 formatu, gde jedan karakter može zauzimati od 1 do 4 bajta. Zbog toga len vraća dužinu u bajtovima.
Primer:
package main
import (
"fmt"
)
func main() {
s := "Привет" // ruska reč
fmt.Println(len(s)) // Prikazuje broj bajtova, na primer 12
}
Ako želite da dobijete broj karaktera (runeova), morate konvertovati niz u slice runeova:
runes := []rune(s)
fmt.Println(len(runes)) // Prikazuje broj karaktera, na primer 6
Dakle, len za niz je dužina u bajtovima, a ne u karakterima.