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 мебошанд, ки имкон медиҳад, ки бо матнҳои бисёрзабон дуруст кор карда шавад.