Sobes.tech
Junior

Golang dilinde string veri tipi nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Golang'da string, değiştirilemez bir bayt dizisidir.

Ana özellikler:

  • Değiştirilemezlik: Bir dize oluşturulduktan sonra değiştirilemez. Dizeyi değiştiren herhangi bir işlem aslında yeni bir dize oluşturur.
  • Temsil: Dize, bayt dizisi içerir. Varsayılan olarak, Golang bu baytların UTF-8 kodlu metni temsil ettiğini varsayar.
  • Uzunluk: Dizenin uzunluğu (len(s)) dizideki bayt sayısını döner, karakter (rune) sayısını değil.
  • İndeksleme: Dizedeki öğelere indeksle erişim (s[i]), bu indeksdeki baytı döner.
  • Runlar: Karakterlerle (runlar) çalışmak için, for range döngüsü kullanılarak dize üzerinde yineleme yapılır; bu, UTF-8'i çözümler ve runlar ile indeksleri sağlar.

Örnek:

// Dizeyi başlatma
s := "Привет, мир!" // 23 bayt, 12 run

// Dizenin uzunluğu (bayt cinsinden)
byteLength := len(s) // 23

// İndeksle bayta erişim
firstByte := s[0] // 208 (UTF-8'de 'П' baytı)

// Runlar üzerinde yineleme
runeCount := 0
for index, runeValue := range s {
	// index - runanın dizideki başlangıç indeksi (bayt cinsinden)
	// runeValue - çözümlenmiş runa
	runeCount++
}
// runeCount = 12