Sobes.tech
Junior — Middle

Bir dize üzerinde length yöntemi çağrıldığında hangi değer döner?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde, len yöntemi bir dize üzerinde çağrıldığında, dizenin bayt sayısını döner, karakter sayısını değil. Bu, Go'daki dizelerin UTF-8 kodlamasında bayt dizileri olmasıyla ilgilidir. Dize yalnızca ASCII karakterleri içeriyorsa, bayt sayısı karakter sayısıyla aynıdır. Ancak çok dilli karakterler varsa, her biri birkaç bayt sürebilir.

Örnek:

package main
import (
    "fmt"
)

func main() {
    s := "Привет"
    fmt.Println(len(s)) // Bayt sayısını gösterecek, örneğin 12
}

Karakter (rune) sayısını hesaplamak için, unicode/utf8 paketinden utf8.RuneCountInString fonksiyonu kullanılmalıdır.