Junior — Middle
Stringке чакырылганда length ыкмасы кайсы маанини кайтарат?
sobes.tech AI
AIден жооп
Go'да, len методу, низге чакырылганда, юлдагы байттар санын кайтарабыз, символлар саны түгел. Бу, Go'да юллар UTF-8 кодлаган байтлар последовательлеге булуы белән бәйле. Әгәр юлда бары тик ASCII символлары булса, байтлар саны символлар санына туры килә. Ләкин күптелле символлар булганда, һәрберсе берничә байтны алырга мөмкин.
Мисал:
package main
import (
"fmt"
)
func main() {
s := "Привет"
fmt.Println(len(s)) // Байтлар санын күрсәтәчәк, мәсәлән 12
}
Символлар (руннар) санын исәпләү өчен, unicode/utf8 пакетыннан utf8.RuneCountInString функциясен кулланырга кирәк.