Junior — Middle
Kā tiek īstenotas virknes un kā tās ir saistītas ar runām Go valodā?
sobes.tech AI
Atbilde no AI
Go valodā virknes tiek attēlotas ar string tipu, kas ir nemainīga baitu secība, parasti kodēta UTF-8 formātā. Tas nozīmē, ka virkne ir baitu secība, nevis rakstzīmes.
Rūnas (rune) ir tips, kas pārstāv Unicode koda punktu (int32). Darbā ar Unicode rakstzīmēm virknes iekļūst rūnu secībā, kas ļauj pareizi apstrādāt daudzbaitu rakstzīmes.
Piemērs:
s := "Привет"
for i, r := range s {
fmt.Printf("%d: %c\n", i, r) // i — baitu indekss, r — rūna (rakstzīme)
}
runes := []rune(s) // virknes pārveidošana rūnu secībā
fmt.Println(runes[0]) // pirmā rakstzīme kā rūna
Tādējādi, Go valodā, virknes ir baitu secības, bet rūnas ir atsevišķas Unicode rakstzīmes, kas ļauj pareizi strādāt ar daudzvalodu tekstiem.