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