Junior — Middle
Go tilida satrlar qanday amalga oshiriladi va ular qanday qilib runlar bilan bog'liq?
sobes.tech AI
AIdan javob
Go tilida satrlar string turi bilan ifodalanadi, bu o'zgarmas baytlar ketma-ketligi bo'lib, odatda UTF-8 kodlashda. Bu shuni anglatadiki, satr — bu baytlar kesmasi, belgilar emas.
Runalar (rune) — bu Unicode kod nuqtasini (int32) ifodalovchi tur. Unicode belgilar bilan ishlash uchun satr runalarga aylantiriladi, bu ko'pbaytli belgilarni to'g'ri ishlash imkonini beradi.
Misol:
s := "Привет"
for i, r := range s {
fmt.Printf("%d: %c\n", i, r) // i — bayt indeks, r — runa (belgi)
}
runes := []rune(s) // satrni runalarga aylantirish
fmt.Println(runes[0]) // birinchi belgi runa sifatida
Shunday qilib, Go dagi satrlar baytlar ketma-ketligi, runalar esa yagona Unicode belgilaridir, bu ko‘p tilli matnlar bilan to‘g‘ri ishlash imkonini beradi.