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.