Struttura annidata in Golang

Una struttura o struct in Golang è un tipo definito dall'utente che consente di creare un gruppo di elementi di tipi diversi in un'unica unità. Qualsiasi entità del mondo reale dotata di un insieme di proprietà o campi può essere rappresentata come una struttura.

Struttura annidata in Golang

Come utilizzare le strutture annidate in Golang

Il linguaggio Go consente strutture annidate. Una struttura che è un campo di un'altra struttura è detta struttura annidata. In altre parole, una struttura all'interno di un'altra struttura è detta struttura annidata. Sintassi:

type struct_name_1 struct{
  // Các trường
} 
type struct_name_2 struct{
  variable_name  struct_name_1

}

Consideriamo il seguente esempio per comprendere la struttura annidata in Golang:

Esempio 1:

// Chương trình Go minh hoạc
// cấu trúc lồng nhau
package main

import "fmt"

// Tạo cấu trúc
type Author struct {
	name string
	branch string
	year int
}

// Tạo cấu trúc lòng nhau
type HR struct {

	// cấu trúc là một trường
	details Author
}

func main() {

	// Khởi tạo các trường
	// của cấu trúc
	result := HR{
	
		details: Author{"Sona", "ECE", 2013},
	}

	// Hiện giá trị
	fmt.Println("\nDetails of Author")
	fmt.Println(result)
}

Risultato:

Details of Author
{{Sona ECE 2013}}

Esempio 2:

// Chương trình Golang minh họa
// cấu trúc lồng nhau
package main

import "fmt"

// Tạo cấu trúc
type Student struct {
	name string
	branch string
	year int
}

// Tạo cấu trúc lồng nhau
type Teacher struct {
	name string
	subject string
	exp	 int
	details Student
}

func main() {

	// Khởi tạo các trường
	// của cấu trúc
	result := Teacher{
		name: "Suman",
		subject: "Java",
		exp:	 5,
		details: Student{"Bongo", "CSE", 2},
	}

	// Hiện giá trị
	fmt.Println("Details of the Teacher")
	fmt.Println("Teacher's name: ", result.name)
	fmt.Println("Subject: ", result.subject)
	fmt.Println("Experience: ", result.exp)

	fmt.Println("\nDetails of Student")
	fmt.Println("Student's name: ", result.details.name)
	fmt.Println("Student's branch name: ", result.details.branch)
	fmt.Println("Year: ", result.details.year)
}

Risultato:

Details of the Teacher
Teacher's name:  Suman
Subject:  Java
Experience:  5

Details of Student
Student's name:  Bongo
Student's branch name:  CSE
Year:  2

Esempio 3:

In Go, una struttura può contenere campi che sono essi stessi strutture, dette strutture annidate. Ecco un esempio di una struttura che ha una struttura annidata:

package main

import (
	"fmt"
)

type Address struct {
	Street	 string
	City	 string
	State	 string
	PostalCode string
}

type Person struct {
	FirstName string
	LastName string
	Age	 int
	Address Address
}

func main() {
	p := Person{
		FirstName: "John",
		LastName: "Doe",
		Age:	 30,
		Address: Address{
			Street:	 "123 Main St",
			City:	 "Anytown",
			State:	 "CA",
			PostalCode: "12345",
		},
	}

	fmt.Println(p.FirstName, p.LastName)
	fmt.Println("Age:", p.Age)
	fmt.Println("Address:")
	fmt.Println("Street:", p.Address.Street)
	fmt.Println("City:", p.Address.City)
	fmt.Println("State:", p.Address.State)
	fmt.Println("Postal Code:", p.Address.PostalCode)
}

Risultato:

John Doe
Age: 30
Address:
Street: 123 Main St
City: Anytown
State: CA
Postal Code: 12345

Qui definiamo due tipi di struttura: Persona e Indirizzo. La persona ha un campo struct annidato denominato Indirizzo. Nella funzione principale creiamo una nuova istanza di Persona con un campo Indirizzo. Stampiamo quindi i vari valori dei campi delle strutture Person e Address utilizzando la notazione a punto per accedere ai campi annidati.

Lascia un commento

Olio da cucina usato a Milano: dove portarlo e come smaltirlo correttamente

Olio da cucina usato a Milano: dove portarlo e come smaltirlo correttamente

A Milano l’olio alimentare usato va raccolto in bottiglie di plastica chiuse e portato nei contenitori AMSA, al CAM o nelle riciclerie. Ecco come fare.

Pile esauste a Bologna: dove portarle e come smaltirle

Pile esauste a Bologna: dove portarle e come smaltirle

Scopri dove portare le pile esauste a Bologna, come usare i contenitori Hera o le stazioni ecologiche e come gestire pile ricaricabili e al litio in sicurezza.

Come smaltire una power bank a Brescia: Ecocar, centri di raccolta e regole pratiche

Come smaltire una power bank a Brescia: Ecocar, centri di raccolta e regole pratiche

Come smaltire correttamente una power bank a Brescia: Ecocar gratuito, centri di raccolta Aprica, orari aggiornati e precauzioni per batterie danneggiate.

Come smaltire uno smartphone a Trieste: guida pratica a RAEE, negozi e dati

Come smaltire uno smartphone a Trieste: guida pratica a RAEE, negozi e dati

A Trieste, conferisci lo smartphone come RAEE: scopri centri di raccolta, ritiro gratuito nei negozi e come proteggere i dati prima della consegna.

Come smaltire un condizionatore a Ferrara: ritiro, stazioni ecologiche e regole RAEE

Come smaltire un condizionatore a Ferrara: ritiro, stazioni ecologiche e regole RAEE

Come smaltire un condizionatore a Ferrara: quando serve un tecnico, dove portare il RAEE, come prenotare il ritiro Hera e cosa cambia se ne acquista uno nuovo.

Come smaltire un microonde a Trieste: centri di raccolta, ritiro e negozi

Come smaltire un microonde a Trieste: centri di raccolta, ritiro e negozi

Guida aggiornata per smaltire correttamente un forno a microonde a Trieste: RAEE, centri di raccolta, ritiro a domicilio e ritiro uno contro uno.

Come smaltire una power bank a Bari: RAEE, ritiro e sicurezza

Come smaltire una power bank a Bari: RAEE, ritiro e sicurezza

Scopri come smaltire una power bank a Bari: riconosci i rischi, prepara il dispositivo e scegli centri AMIU o ritiro a domicilio.

Come smaltire un computer a Perugia: RAEE, centri e ritiro a domicilio

Come smaltire un computer a Perugia: RAEE, centri e ritiro a domicilio

Scopri come smaltire un computer a Perugia: cancella i dati, scegli il Centro di Raccolta Gesenu o prenota il ritiro RAEE a domicilio.

Come smaltire un materasso a Roma: centri AMA e ritiro a domicilio

Come smaltire un materasso a Roma: centri AMA e ritiro a domicilio

Scopri come smaltire un materasso a Roma: centri AMA, ritiro a domicilio, limiti, prenotazione, trasporto e controlli finali.

Come smaltire una power bank gonfia a Taranto in sicurezza

Come smaltire una power bank gonfia a Taranto in sicurezza

Power bank gonfia a Taranto: cosa fare subito, quando non trasportarla e dove verificare il conferimento tra CCR, RAEE e raccolta batterie.