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