Junior — Middle
len funksiyası sətir işləyərkən hansı məlumatı geri qaytarır?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, len funksiyası bir sətirə tətbiq olunduqda, həmin sətirin bayt sayını qaytarır, simvolların (rune) sayını deyil.
Bu, Go-dakı sətirlərin UTF-8 formatında saxlanması ilə əlaqədardır; burada bir simvol 1-dən 4 bayt arasında yer ala bilər. Buna görə də, len baytların uzunluğunu qaytarır.
Nümunə:
package main
import (
"fmt"
)
func main() {
s := "Привет" // rus sözü
fmt.Println(len(s)) // Baytların sayını göstərəcək, məsələn 12
}
Əgər simvolların (rune) sayını almaq istəyirsinizsə, sətiri rune diliminə çevirməlisiniz:
runes := []rune(s)
fmt.Println(len(runes)) // Simvolların sayını göstərəcək, məsələn 6
Beləliklə, len sətir üçün baytların uzunluğu, simvolların sayı deyil.