Sobes.tech
Junior — Middle

Spiega il concetto di tipo string nel linguaggio Go e le sue caratteristiche principali.

sobes.tech AI

Risposta dell'AI

Nel linguaggio Go, il tipo di stringa (string) rappresenta una sequenza immutabile di byte, comunemente usata per memorizzare testo codificato in UTF-8.

Caratteristiche principali delle stringhe in Go:

  • Immutabilità: Dopo aver creato una stringa, questa non può essere modificata. Qualsiasi operazione che modifica la stringa crea una nuova stringa.
  • Codifica UTF-8: Le stringhe sono memorizzate in UTF-8, consentendo di lavorare con testo multilingue.
  • Accesso tramite byte: L'indicizzazione di una stringa restituisce un byte, non un carattere (rune). Per lavorare con i caratteri, si usa il tipo rune.
  • Supporto alle fette: È possibile ottenere sotto-stringhe usando le fette, ad esempio s[0:5].

Esempio di lavoro con stringhe e rune:

s := "Привет"
fmt.Println(len(s)) // numero di byte
for i, r := range s {
    fmt.Printf("%d: %c\n", i, r) // mostra l'indice del byte e il carattere
}

Pertanto, le stringhe in Go sono un modo comodo ed efficiente per lavorare con il testo, ma richiedono di comprendere la differenza tra byte e caratteri.