GO consente di creare e utilizzare strutture utilizzando tipi integrati o definiti dall'utente.
Questa guida faranno un viaggio ed esplorerà come funzionano le strutture nel linguaggio di programmazione Go.
Dichiarare una struttura
La sintassi seguente mostra come creare struct in go:
TypeStruct_namestructIniziamo chiamando la parola chiave del tipo. Dopo arriva il nome della struttura. Il nome della struttura può essere qualsiasi cosa definita dall'utente (purché segue le regole di denominazione in GO). Quindi utilizziamo la parola chiave struct, seguita da una coppia di bretelle.
All'interno delle parentesi graffe, definiamo vari campi che compongono la struttura. Il nome del campo è seguito dal suo tipo di dati.
Dichiarare struct - esempio
Il codice di esempio seguente definisce una struttura chiamata dipendente. Contiene 5 campi con vari tipi di dati.
typemployee structQuanto sopra crea una struttura per i dipendenti contenenti campi di vari tipi.
Nota: se si desidera esportare la struttura e i suoi campi in altri pacchetti, assicurarsi che i nomi inizino con lettere maiuscole. Altrimenti, l'ambito è limitato a quel pacchetto.
Instanziazione della struttura
Definizione di una struttura significa che creiamo solo un progetto. Per creare un oggetto fuori dalla struttura, dobbiamo crearne un'istanza.
Per creare un'istanza di una classe in GO, inizia con la parola chiave VAR seguita dal nome dell'istanza.
L'esempio seguente crea un'istanza della struttura dei dipendenti.
Var Emp EmployeeUna volta che creiamo un'istanza della struttura, possiamo accedere ai campi usando la notazione punto come mostrato:
Var Emp EmployeeUna volta impostati i campi di Instace, possiamo stamparlo come:
fmt.Println (emp)Il ritorno di snippet sopra:
$ go run structs.andareInstanziazione struct - Letterale
È inoltre possibile creare un'istanza di una struttura usando il metodo letterale della struttura. L'esempio seguente mostra la struttura letterale per creare un'istanza di una struttura.
var emp1 = dipendente "Mary A", 26, false, "Game Developer", 150000.10L'esempio sopra crea un'istanza della classe e imposta i campi senza usare la notazione dot.
Struttura istanziazione - Nuova parola chiave
Se non si desidera impostare i valori durante la creazione di istanza, è possibile utilizzare la nuova parola chiave. Per esempio:
var emp2 = new (dipendente)Una volta creati, possiamo accedere ai campi di istanza e impostare i valori come:
EMP2.Name = "Judy L"Accedi a campi struct
Per accedere ai campi di una struttura, vai a fornirci l'operatore DOT. Iniziamo con il nome dell'istanza della struttura e quindi il nome del campo.
Ad esempio, per ottenere il nome dell'EMP2, possiamo fare:
fmt.Println (EMP2.Nome)Questo dovrebbe restituire il valore memorizzato dal campo specificato.
Metodi di struttura
Possiamo anche aggiungere un metodo a una struttura usando il ricevitore del metodo. Considera l'esempio seguente che crea un metodo per la struttura dei dipendenti.
func (e dipendente) info () stringUna volta dichiarato il metodo, possiamo creare un'istanza e impostare i campi come:
Var E dipendenteInfine, possiamo chiamare il metodo come:
fmt.Println (e.Informazioni())Sulla chiamata del metodo, dovremmo ottenere un output come:
Nome: Thomas JTipo di campo struct
Puoi scoprire il tipo di campo utilizzando il pacchetto Reflect. Ad esempio, per ottenere il tipo di campo in pensione, possiamo fare:
fmt.Println (riflette.Typeof (e.Pensionato))Il codice sopra restituisce il tipo di campo come:
::produzioneConfronto struct
È possibile verificare se una struttura è uguale a un'altra utilizzando l'operatore di confronto. Si noti che una struttura è definita come uguale se tutti i campi hanno lo stesso valore.
Nota: non tutti i tipi di dati sono comparabili.
L'esempio seguente crea due strutture e le confronta usando l'operatore ==.
..Poiché le strutture non sono uguali, il blocco altro viene eseguito.
SUGGERIMENTO: I valori vuoti e zero sono considerati uguali.
Conclusione
Uff!
Questo è stato un tutorial eccezionale sul lavoro con le strutture di Go Lang. Questo tutorial, tuttavia, copre solo le basi. Ci sono molte più operazioni che puoi fare con le strutture.
Continua a praticare e controlla i nostri tutorial Go per saperne di più.