Sobes.tech
Junior — Middle

Di quali componenti è composta una stringa nel linguaggio Go?

sobes.tech AI

Risposta dell'AI

Nel linguaggio Go, una stringa (string) rappresenta una sequenza immutabile di byte, comunemente usata per memorizzare testo codificato in UTF-8. I componenti principali di una stringa in Go sono:

  • Byte — la sequenza di byte stessa che contiene i dati.
  • Lunghezza — il numero di byte nella stringa.

Internamente, la stringa è implementata come una struttura con un puntatore a un array di byte e una lunghezza. La stringa non contiene un delimitatore o terminatore esplicito.

È importante capire che una stringa non è un array di caratteri (rune), ma una sequenza di byte. Per lavorare con i caratteri Unicode, si utilizza il tipo rune e funzioni del pacchetto unicode/utf8.

Esempio:

s := "Привет"
fmt.Println(len(s)) // Mostra il numero di byte, non di caratteri
runes := []rune(s)
fmt.Println(len(runes)) // Numero di caratteri (rune)