Junior — Middle
Go dilində sətirlər necə həyata keçirilir və necə runlarla əlaqəlidir?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində sətirlər string tipi ilə təmsil olunur, bu da dəyişməz baytlar ardıcıllığıdır və adətən UTF-8 kodlaşdırmasında olur. Bu, sətirin baytlar ardıcıllığı olduğu, simvolların isə olmadığı anlamına gəlir.
Rünlər (rune) Unicode kod nöqtəsini (int32) təmsil edən bir növdür. Unicode simvolları ilə işləmək üçün, sətir rünlər ardıcıllığına çevrilir, bu da çoxbaytlı simvolların düzgün işlənməsini təmin edir.
Nümunə:
s := "Привет"
for i, r := range s {
fmt.Printf("%d: %c\n", i, r) // i — bayt indeksi, r — rün (simvol)
}
runes := []rune(s) // sətiri rünlər ardıcıllığına çevirmək
fmt.Println(runes[0]) // ilk simvol rün kimi
Beləliklə, Go-da sətirlər bayt ardıcıllıqlarıdır, rünlər isə tək-tək Unicode simvollarıdır və çoxdillili mətnlərlə düzgün işləməyə imkan verir.