Sobes.tech
Junior

Golang tilida string ma'lumot turi nima?

sobes.tech AI

AIdan javob

Golang'da string — bu o'zgarmas baytlar ketma-ketligi.

Asosiy xususiyatlar:

  • O'zgarmaslik: Bir satrni yaratgandan so'ng, uni o'zgartib bo'lmaydi. Satrni o'zgartirishga har qanday operatsiya aslida yangi satr yaratadi.
  • Taqdimoti: Satr baytlar ketma-ketligini o'z ichiga oladi. Standart tarzda, Golang bu baytlar UTF-8 kodlangan matnni ifodalaydi deb hisoblaydi.
  • Uzunligi: Satrning uzunligi (len(s)) satrdagi baytlar sonini, emas, balki runalar (belgilar) sonini qaytaradi.
  • Indeksatsiya: Satrdagi elementlarga indeks yordamida kirish (s[i]) bu indeksdagi baytni qaytaradi.
  • Runalar: Belgilar (runalar) bilan ishlash uchun, for range tsikli yordamida satr bo'ylab iteratsiya qilinadi, bu UTF-8 ni dekod qiladi va runalar hamda ularning indekslarini taqdim etadi.

Misol:

// Satrni boshlash
s := "Привет, мир!" // 23 bayt, 12 runa

// Satrning uzunligi (baytda)
byteLength := len(s) // 23

// Indeks yordamida baytga kirish
firstByte := s[0] // firstByte = 208 (UTF-8 da 'П' bayti)

// Runalar bo'yicha iteratsiya
runeCount := 0
for index, runeValue := range s {
	// index - satrdagi runaning boshlanish indeksi (baytda)
	// runeValue - dekodlangan runa
	runeCount++
}
// runeCount = 12