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