Junior — Middle
Come vengono implementate le stringhe e come sono collegate alle rune nel linguaggio Go?
sobes.tech AI
Risposta dell'AI
Nel linguaggio Go, le stringhe sono rappresentate dal tipo string, che è una sequenza immutabile di byte, solitamente codificata in UTF-8. Ciò significa che una stringa è una sequenza di byte, non di caratteri.
Le rune (rune) sono un tipo che rappresenta un punto di codice Unicode (int32). Per lavorare con i caratteri Unicode in una stringa, questa viene convertita in una sequenza di rune, consentendo di gestire correttamente i caratteri multibyte.
Esempio:
s := "Привет"
for i, r := range s {
fmt.Printf("%d: %c\n", i, r) // i — indice del byte, r — rune (carattere)
}
runes := []rune(s) // conversione della stringa in una sequenza di rune
fmt.Println(runes[0]) // primo carattere come rune
Pertanto, le stringhe in Go sono sequenze di byte, e le rune sono singoli caratteri Unicode, il che permette di lavorare correttamente con testi multilingue.