Sobes.tech
Junior — Middle

len funktsiyasi satrni ishlashda qanday ma'lumotlarni qaytaradi?

sobes.tech AI

AIdan javob

Go tilida, len funksiyasi satrga qoʻllanganda, u shu satrning baytlar sonini qaytaradi, belgilarning (rune) sonini emas.

Bu, Go'dagi satrlar UTF-8 formatida saqlanayotganligi bilan bogʻliq; bunda bir belgi 1 dan 4 baytgacha joy olishi mumkin. Shuning uchun, len baytlar uzunligini qaytaradi.

Misol:

package main
import (
    "fmt"
)

func main() {
    s := "Привет" // rus soʻzi
    fmt.Println(len(s)) // Baytlar sonini koʻrsatadi, masalan 12
}

Agar belgilarning (rune) sonini olish kerak boʻlsa, satrni rune slice ga oʻtkazish kerak:

runes := []rune(s)
fmt.Println(len(runes)) // Belgilarning sonini koʻrsatadi, masalan 6

Shunday qilib, len satr uchun baytlar uzunligi, belgilarning soni emas.