English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
StrutturaIn Golang è un tipo definito dall'utente, che ci permette di creare un insieme di elementi di diversi tipi in un unico unità. Qualsiasi entità reale con un insieme di attributi o campi può essere rappresentata come una struttura. Il linguaggio Go permette le strutture annidate. Una struttura è un campo di un'altra struttura, detta struttura annidata. In altre parole, una struttura all'interno di un'altra struttura si chiama struttura annidata.
Sintassi:
type struct_name_1 struct{ // Fields } type struct_name_2 struct{ variable_name struct_name_1 }
Lasciate che ci serviamo di un esempio per discutere questo concetto:}}
//Struttura annidata package main import "fmt" //Creazione della struttura type Author struct { name string branch string year int } //Creazione della struttura annidata type HR struct { //Struttura dei campi details Author } func main() { // Inizializzazione dei campi della struttura result := HR{ details: Author{"Sona", "ECE", 2013}, } //Stampa il valore di output fmt.Println("\nDettagli dell'autore") fmt.Println(result) }
Output:
Dettagli dell'autore {{Sona ECE 2013}}
Esempio di struttura annidata 2:
package main import "fmt" //Creazione della struttura type Student struct { name string branch string year int } //Creazione della struttura annidata type Teacher struct { name string subject string exp int details Student } func main() { //Inizializzazione dei campi della struttura result := Teacher{ name: "Suman", subject: "Java", exp: 5, details: Student{"Bongo", "CSE", 2}, } fmt.Println("Dettagli dell'insegnante") fmt.Println("Il nome dell'insegnante: ", result.name) fmt.Println("Disciplina: ", result.subject) fmt.Println("Esperienza: ", result.exp) fmt.Println("\nDettagli dello studente") fmt.Println("Il nome dello studente: ", result.details.name) fmt.Println("Il nome del dipartimento dello studente: ", result.details.branch) fmt.Println("Età: ", result.details.year) }
Output:
Dettagli dell'insegnante Il nome dell'insegnante: Suman Disciplina: Java Esperienza: 5 Dettagli dello studente Il nome dello studente: Bongo Il nome del dipartimento dello studente: CSE Età: 2