Sobes.tech
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 функциясен кулланырга кирәк.