Sobes.tech
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.