Sobes.tech
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.