Junior — Middle
Millist väärtust tagastab meetod length, kui seda kutsutakse stringil?
sobes.tech AI
Vastus AI-lt
Go keeles, kui meetod len kutsutakse stringi peal, tagastab see stringi baitide arvu, mitte märkide arvu. See on tingitud sellest, et Go-s on stringid UTF-8 kodeeritud baitide järjestused. Kui string sisaldab ainult ASCII märke, siis baitide arv vastab märkide arvule. Kuid mitmekeelsed märgid võivad igaüks võtta mitu baiti.
Näide:
package main
import (
"fmt"
)
func main() {
s := "Привет"
fmt.Println(len(s)) // Näitab baitide arvu, näiteks 12
}
Märkide (rune) arvu arvutamiseks tuleb kasutada funktsiooni utf8.RuneCountInString unicode/utf8 paketist.