Sobes.tech
Junior — Middle

Millist väärtust tagastab funktsioon len, kui seda rakendatakse string-tüüpi andmetele?

sobes.tech AI

Vastus AI-lt

Go keeles, kui funktsioon len rakendatakse stringile, tagastab see selle stringi baitide arvu, mitte märkide (rune) arvu. See on tingitud sellest, et Go-s salvestatakse stringe UTF-8 formaadis, kus üks märk võib võtta mitu baiti.

Näide:

s := "Привет"
fmt.Println(len(s)) // Näitab baitide arvu, näiteks 12

Kui soovite saada märkide (rune) arvu, peate stringi teisendama rune'i lõiguks:

fmt.Println(len([]rune(s))) // Näitab märkide arvu, näiteks 6