Junior — Middle
Go dilinde dizgelerin nasıl uygulandığı ve runlarla nasıl ilişkili olduğu nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde dizeler string tipiyle temsil edilir, bu da değiştirilemez bir bayt dizisidir ve genellikle UTF-8 kodlaması kullanılır. Bu, dizenin bayt dizisi olduğu, karakterler olmadığı anlamına gelir.
Rünler (rune) Unicode kod noktası (int32) temsil eden bir türdür. Bir dizide Unicode karakterleriyle çalışmak için, dize rünlere dönüştürülür, bu da çok baytlı karakterlerin doğru şekilde işlenmesini sağlar.
Örnek:
s := "Привет"
for i, r := range s {
fmt.Printf("%d: %c\n", i, r) // i — bayt indeksi, r — rün (karakter)
}
runes := []rune(s) // diziyi rünlere dönüştürme
fmt.Println(runes[0]) // ilk karakter rün olarak
Bu nedenle, Go'daki dizeler bayt dizileri, rünler ise Unicode karakterleridir ve çok dilli metinlerle doğru şekilde çalışmayı sağlar.