Sobes.tech
Junior — Middle

Qator ustida chaqirilganda length metodi qanday qiymat qaytaradi?

sobes.tech AI

AIdan javob

Go tilida, len metodi satrda chaqirilganda, satrning baytlar sonini qaytaradi, belgilarning sonini emas. Bu, Go'dagi satrlar UTF-8 kodlashida baytlar ketma-ketligi bo‘lishi bilan bog‘liq. Agar satr faqat ASCII belgilardan iborat bo‘lsa, baytlar soni belgilarning soniga mos keladi. Ammo ko‘p tilli belgilarda, har biri bir nechta baytni egallashi mumkin.

Misol:

package main
import (
    "fmt"
)

func main() {
    s := "Привет"
    fmt.Println(len(s)) // Baytlar sonini chiqaradi, masalan 12
}

Belgilarning (rune) sonini hisoblash uchun, unicode/utf8 paketidan utf8.RuneCountInString funksiyasidan foydalanish kerak.