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.

Sign up and earn $1000 a day ⋙

Leave a Comment

Come usare le costanti in Golang

Come usare le costanti in Golang

Cosa significa Constant o Const in Golang? Ecco cosa devi sapere sull'uso delle costanti in Go.

Funzioni volatili in Golang

Funzioni volatili in Golang

Le funzioni variadiche in Go consentono di passare un numero variabile di argomenti a una funzione. Ecco tutto ciò che devi sapere sulle funzioni volatili in Golang.

Parametri di ritorno denominati in Golang

Parametri di ritorno denominati in Golang

In Golang, i parametri di ritorno denominati sono spesso chiamati parametri denominati. Golang consente di nominare i parametri di ritorno o i risultati delle funzioni nella firma o nella definizione della funzione.

Parole chiave in Go

Parole chiave in Go

Parola chiave - Le parole chiave sono parole in un linguaggio che vengono utilizzate per qualche processo interno o rappresentano qualche azione predefinita. Ecco cosa devi sapere sulle parole chiave in Golang.

Tipi di dati in Golang

Tipi di dati in Golang

Il tipo di dati specifica il tipo di dati che una variabile Go valida può contenere. Nel linguaggio Go, i tipi sono suddivisi in quattro categorie come segue:

Argomenti delle funzioni in Golang

Argomenti delle funzioni in Golang

Go supporta due metodi principali per passare argomenti: passaggio per valore e passaggio per riferimento. Di default, Go utilizza il passaggio per valore.

Funzione che restituisce più valori in Golang

Funzione che restituisce più valori in Golang

Nel linguaggio Go è possibile restituire più valori da una funzione, utilizzando l'istruzione return. In altre parole, in una funzione, un'istruzione return può restituire più valori.

Istruzione Switch in Go

Istruzione Switch in Go

Golang, come la maggior parte degli altri linguaggi di programmazione, ha l'istruzione switch. Ecco come utilizzare l'istruzione switch in Golang.

Casi da conoscere quando si utilizzano le istruzioni di selezione in Golang

Casi da conoscere quando si utilizzano le istruzioni di selezione in Golang

In questo articolo impareremo come utilizzare il caso predefinito per evitare situazioni di stallo. Ma prima scopriamo cos'è il caso di deadlock quando si utilizza il comando select di Golang?

Strutture e campi anonimi in Golang

Strutture e campi anonimi in Golang

Le strutture anonime in Golang sono strutture temporanee senza nome, utilizzate per scopi una tantum, mentre i campi anonimi consentono l'incorporamento di campi senza nome.

Come usare le Rune in Golang

Come usare le Rune in Golang

Cosa sono le rune in Golang? Come usare le Rune in Golang? L'articolo vi darà la risposta.

Come usare gli operatori in Golang

Come usare gli operatori in Golang

Gli operatori consentono di eseguire diversi tipi di operazioni sugli operandi. Nel linguaggio Go, gli operatori possono essere classificati in base alle loro diverse funzioni.

Identificatore vuoto in Golang

Identificatore vuoto in Golang

_(trattino basso) in Golang è chiamato identificatore vuoto. L'identificatore è un nome definito dall'utente dei componenti del programma, utilizzato a fini di identificazione.

Come creare un programma base in Golang

Come creare un programma base in Golang

Ciao mondo! è il primo programma base in qualsiasi linguaggio di programmazione. Puoi scrivere questo primo programma in Golang seguendo i passaggi sottostanti.

Come installare Go su Windows

Come installare Go su Windows

Golang può essere facilmente installato su Windows. Di seguito è riportata una guida dettagliata passo dopo passo per installare Golang su Windows.

Differenza tra TV normale e Smart TV

Differenza tra TV normale e Smart TV

Le smart TV hanno davvero preso d'assalto il mondo. Grazie alle sue numerose funzionalità e alla connettività Internet, la tecnologia ha cambiato il nostro modo di guardare la TV.

Perché il congelatore non ha la luce mentre il frigorifero sì?

Perché il congelatore non ha la luce mentre il frigorifero sì?

I frigoriferi sono elettrodomestici comuni nelle case. I frigoriferi hanno solitamente 2 scomparti: lo scomparto freddo è spazioso e ha una luce che si accende automaticamente ogni volta che l'utente lo apre, mentre lo scomparto congelatore è stretto e non ha luce.

2 modi per risolvere la congestione della rete che rallenta il Wi-Fi

2 modi per risolvere la congestione della rete che rallenta il Wi-Fi

Oltre ai router, alla larghezza di banda e alle interferenze, le reti Wi-Fi sono influenzate da molti fattori, ma esistono alcuni modi intelligenti per potenziare la propria rete.

Come eseguire il downgrade da iOS 17 a iOS 16 senza perdere dati utilizzando Tenorshare Reiboot

Come eseguire il downgrade da iOS 17 a iOS 16 senza perdere dati utilizzando Tenorshare Reiboot

Se vuoi tornare alla versione stabile di iOS 16 sul tuo telefono, ecco la guida di base per disinstallare iOS 17 ed effettuare il downgrade da iOS 17 a 16.

Cosa succede al corpo se mangi yogurt ogni giorno?

Cosa succede al corpo se mangi yogurt ogni giorno?

Lo yogurt è un alimento meraviglioso. Fa bene mangiare yogurt tutti i giorni? Se mangiassi yogurt ogni giorno, come cambierebbe il tuo corpo? Scopriamolo insieme!

Quale tipo di riso è migliore per la salute?

Quale tipo di riso è migliore per la salute?

In questo articolo vengono illustrati i tipi di riso più nutrienti e come sfruttare al massimo i benefici per la salute offerti dal tipo di riso scelto.

Come svegliarsi puntuali la mattina

Come svegliarsi puntuali la mattina

Tra le misure che possono aiutarti a dormire meglio e a svegliarti puntuale al mattino c'è quella di stabilire un orario per dormire e una routine per andare a dormire, cambiare la sveglia e modificare la tua dieta.

Suggerimenti per giocare a Rent Please! Simulazione del proprietario di casa per principianti

Suggerimenti per giocare a Rent Please! Simulazione del proprietario di casa per principianti

Affitto per favore! Landlord Sim è un gioco di simulazione per dispositivi mobili, disponibile per iOS e Android. Giocherai nei panni del proprietario di un complesso di appartamenti e inizierai ad affittare un appartamento con l'obiettivo di migliorarne gli interni e prepararli per gli inquilini.

Ultimi codici di difesa della torre del bagno e come inserirli

Ultimi codici di difesa della torre del bagno e come inserirli

Ottieni il codice del gioco Roblox Bathroom Tower Defense e riscattalo per ottenere fantastiche ricompense. Ti aiuteranno a potenziare o sbloccare torri con danni maggiori.

Struttura, simboli e principi di funzionamento dei trasformatori

Struttura, simboli e principi di funzionamento dei trasformatori

Impariamo a conoscere la struttura, i simboli e i principi di funzionamento dei trasformatori nel modo più accurato.

4 modi in cui lintelligenza artificiale sta migliorando le smart TV

4 modi in cui lintelligenza artificiale sta migliorando le smart TV

Dalla migliore qualità dell'immagine e del suono al controllo vocale e molto altro, queste funzionalità basate sull'intelligenza artificiale stanno rendendo le smart TV molto migliori!

Perché ChatGPT è migliore di DeepSeek

Perché ChatGPT è migliore di DeepSeek

Inizialmente le aspettative per DeepSeek erano alte. In quanto chatbot basato sull'intelligenza artificiale, pubblicizzato come un forte concorrente di ChatGPT, promette funzionalità ed esperienze di chat intelligenti.

Scopri Fireflies.ai: la segretaria AI gratuita che ti fa risparmiare ore di lavoro

Scopri Fireflies.ai: la segretaria AI gratuita che ti fa risparmiare ore di lavoro

È facile trascurare dettagli importanti quando si prendono appunti di altre cose essenziali, e cercare di prendere appunti mentre si chiacchiera può distrarre. Fireflies.ai è la soluzione.

Come allevare lAxolotl in Minecraft, addomesticare la Salamandra in Minecraft

Come allevare lAxolotl in Minecraft, addomesticare la Salamandra in Minecraft

Gli Axolot di Minecraft saranno degli ottimi aiutanti per i giocatori che operano sott'acqua, se sapranno come usarli.

A Quiet Place: The Road Ahead Configurazione del gioco per PC

A Quiet Place: The Road Ahead Configurazione del gioco per PC

La configurazione di A Quiet Place: The Road Ahead ha ricevuto recensioni piuttosto positive, quindi è opportuno valutarla attentamente prima di decidere di scaricarla.