Junior — Middle
Koki reikšmę grąžina funkcija len, kai ji taikoma eilutės duomenų tipui?
sobes.tech AI
Atsakymas iš AI
Go kalboje, funkcija len, kai taikoma eilutei, grąžina tų eilutės baitų skaičių, o ne simbolių (rune) skaičių. Tai yra todėl, kad eilutės Go saugomos UTF-8 formatu, kuriame vienas simbolis gali užimti kelis baitus.
Pavyzdys:
s := "Привет"
fmt.Println(len(s)) // Parodys baitų skaičių, pavyzdžiui 12
Jei norite gauti simbolių (rune) skaičių, turite konvertuoti eilutę į rune skaidinį:
fmt.Println(len([]rune(s))) // Parodys simbolių skaičių, pavyzdžiui 6