In questa guida, esamineremo come possiamo dichiarare una struttura e vari metodi su come stampare una struttura in Go.
Dichiarare una struttura
Possiamo dichiarare una struttura in GO usando la parola chiave. Iniziamo con il tipo di parola chiave, seguito dal nome della struttura e dalla parola chiave.
La sintassi è mostrata:
Digitare tipo struct_name
Includiamo quindi i campi della struttura all'interno di una coppia di parentesi cure.
L'esempio seguente crea una struttura semplice:
Pacchetto principale
Digita utente struct
Nome String
Età int
Impiegato bool
func main ()
Nella sintassi sopra, creiamo una struttura chiamata utente. Impostamo quindi i campi di vari tipi di dati.
Istanza della struttura
Dopo la dichiarazione della struttura, dobbiamo creare un'istanza della struttura. L'esempio seguente mostra come creare un'istanza della struttura utente.
User1: = User "Jane Doe", 65, False
Lo snippet sopra crea un'istanza della struttura utente chiamata utente1.
Struttura di stampa
Possiamo stampare una struttura utilizzando il metodo printf dal pacchetto FMT. Ci fornisce opzioni di formattazione speciali per stampare una struttura. Tali opzioni includono:
Opzione di formattazione | Senso |
---|---|
%v | Stampa il valore della variabile nel formato predefinito |
%+V | Stampa il nome del campo struct e il suo valore associato |
Considera il codice di esempio seguente:
Pacchetto principale
Importa "FMT"
Digita utente struct
Nome String
Età int
Impiegato bool
func main ()
User1: = User "Jane Doe", 65, False
fmt.Printf ("%v \ n", utente1)
fmt.Printf ("%+v \ n", utente1)
fmt.Printf ("%d \ n", utente1.Età)
fmt.Printf ("%s \ n", utente1.Nome)
Utilizzando la funzione printf, possiamo recuperare tutti i campi nella struttura o accedere ai singoli valori per la struttura.
L'output risultante è come mostrato:
Jane doe 65 false
Nome: Jane Doe Age: 65 impiegato: false
65
Jane Doe
Si noti che il formatter %V stampica solo i valori. Se si desidera ottenere il nome del campo e il valore associato, utilizziamo l'opzione %+V.
Struttura di stampa - JSON.Marshall
Il secondo metodo che è possibile utilizzare per stampare una struttura è utilizzare il metodo Marshal () dal pacchetto codifica/JSON.
Controlla il nostro tutorial su JSON Marshal e Unmarshall in GO per imparare di più.
L'esempio seguente illustra come utilizzare la funzione del maresciallo.
Pacchetto principale
importazione (
"codifica/json"
"FMT"
)
Digita utente struct
Nome String
Età int
Impiegato bool
func main ()
User1: = User "Jane Doe", 65, False
JSON, _: = JSON.Maresciallo (utente1)
fmt.Println (String (JSON))
La funzione dovrebbe restituire i campi e i valori struct come mostrato nell'output di seguito:
"Nome": "Jane Doe", "Age": 65, "impiegato": false
Conclusione
L'esempio seguente discute vari metodi per stampare una struttura, come la funzione di approvvigionamento e il maresciallo JSON.
Grazie per aver letto!