Sobes.tech
Junior — Middle

Go тилинде саптар кандай ишке ашырылат жана алар руна менен кандай байланышта?

sobes.tech AI

AIден жооп

Go тилинде саптар string түрү менен көрсөтүлөт, ал өзгөргүс байттардын үзүндүсү болуп саналат, көбүнчө UTF-8 коддоо менен. Бул сап — байттардын үзүндүсү, белгилердин эмес.

Руналар (rune) — бул Unicode кодтук чекитин (int32) көрсөтүүчү түр. Unicode белгилери менен иштөө үчүн, сапты руналардын үзүндүсүнө айлантат, бул көпбайттуу белгилерди туура иштетүүгө мүмкүндүк берет.

Мисал:

s := "Привет"
for i, r := range s {
    fmt.Printf("%d: %c\n", i, r) // i — байттин индекси, r — руна (белги)
}

runes := []rune(s) // сапты руналардын үзүндүсүнө айлантуу
fmt.Println(runes[0]) // биринчи белгиси руна катары

Ошентип, Go тилиндеги саптар байттардын үзүндүсү, ал эми руна — жеке Unicode белгиси, бул көп тилдүү тексттер менен туура иштөөгө мүмкүндүк берет.