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.