Geneste structuur in Golang

Een structuur of struct in Golang is een door de gebruiker gedefinieerd type waarmee we een groep elementen van verschillende typen tot één eenheid kunnen samenvoegen. Elke entiteit uit de echte wereld met een bepaalde set eigenschappen of velden kan worden weergegeven als een struct.

Geneste structuur in Golang

Hoe geneste structuren in Golang te gebruiken

De taal Go staat geneste structuren toe. Een structuur die een veld is van een andere structuur, wordt een geneste structuur genoemd. Met andere woorden, een structuur binnen een andere structuur wordt een geneste structuur genoemd. Syntaxis:

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

}

Bekijk het volgende voorbeeld om de geneste structuur in Golang te begrijpen:

Voorbeeld 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)
}

Resultaat:

Details of Author
{{Sona ECE 2013}}

Voorbeeld 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)
}

Resultaat:

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

Voorbeeld 3:

In Go kan een structuur velden hebben die zelf structuren zijn, zogenaamde geneste structuren. Hier is een voorbeeld van een structuur met een geneste structuur:

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)
}

Resultaat:

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

Hier definiëren we twee structuurtypen: Persoon en Adres. Persoon heeft een genest structuurveld met de naam Adres. In de hoofdfunctie maken we een nieuw Persoon-exemplaar met een Adres-veld. Vervolgens printen we de verschillende veldwaarden van de structuren Persoon en Adres met behulp van de puntnotatie om toegang te krijgen tot de geneste velden.

Sign up and earn $1000 a day ⋙

Leave a Comment

Hoe constanten in Golang te gebruiken

Hoe constanten in Golang te gebruiken

Wat is Constant of Const in Golang? Dit is wat u moet weten over het gebruik van constanten in Go.

Vluchtige functies in Golang

Vluchtige functies in Golang

Met variabele functies in Go kunt u een variabel aantal argumenten aan een functie doorgeven. Hier vindt u alles wat u moet weten over vluchtige functies in Golang.

Benoemde retourparameters in Golang

Benoemde retourparameters in Golang

In Golang worden benoemde retourparameters vaak benoemde parameters genoemd. Met Golang kunt u de retourparameters of resultaten van functies benoemen in de functiehandtekening of -definitie.

Trefwoorden in Go

Trefwoorden in Go

Trefwoord - Trefwoorden zijn woorden in een taal die worden gebruikt voor een intern proces of die een vooraf gedefinieerde actie vertegenwoordigen. Dit zijn de dingen die u moet weten over trefwoorden in Golang.

Gegevenstypen in Golang

Gegevenstypen in Golang

Het gegevenstype specificeert het type gegevens dat een geldige Go-variabele kan bevatten. In de Go-taal worden typen als volgt in vier categorieën verdeeld:

Functieargumenten in Golang

Functieargumenten in Golang

Go ondersteunt twee hoofdmanieren om argumenten door te geven: doorgeven per waarde en doorgeven per referentie. Go gebruikt standaard de waarde 'pass by'.

Functie die meerdere waarden retourneert in Golang

Functie die meerdere waarden retourneert in Golang

In de Go-taal kunt u meerdere waarden uit een functie retourneren met behulp van de return-instructie. Met andere woorden: in een functie kan een return-instructie meerdere waarden retourneren.

Switch-instructie in Go

Switch-instructie in Go

Golang heeft, net als de meeste andere programmeertalen, een switch-statement. Hier leest u hoe u de switch-instructie in Golang gebruikt.

Gevallen die u moet kennen bij het gebruik van selectie-instructies in Golang

Gevallen die u moet kennen bij het gebruik van selectie-instructies in Golang

In dit artikel leggen we uit hoe u een deadlock kunt voorkomen door standaardcase te gebruiken. Maar laten we eerst eens kijken wat een deadlock-geval is bij het gebruik van de Golang select-opdracht?

Anonieme structuren en velden in Golang

Anonieme structuren en velden in Golang

Anonieme structuren in Golang zijn tijdelijke structuren zonder namen die voor eenmalige doeleinden worden gebruikt, terwijl anonieme velden het insluiten van naamloze velden mogelijk maken.

Hoe Rune te gebruiken in Golang

Hoe Rune te gebruiken in Golang

Wat zijn Runen in Golang? Hoe gebruik je Rune in Golang? Het artikel geeft u het antwoord.

Operatoren gebruiken in Golang

Operatoren gebruiken in Golang

Met operatoren kunnen we verschillende soorten bewerkingen op operanden uitvoeren. In de Go-taal kunnen operatoren worden geclassificeerd op basis van hun verschillende functies.

Ongeldige identificatie in Golang

Ongeldige identificatie in Golang

_(underscore) wordt in Golang een lege identifier genoemd. Identifier is een door de gebruiker gedefinieerde naam van programmacomponenten die worden gebruikt voor identificatiedoeleinden.

Hoe maak je een basisprogramma in Golang

Hoe maak je een basisprogramma in Golang

Hallo wereld! is het eerste basisprogramma in elke programmeertaal. U kunt dit eerste programma in Golang schrijven door de onderstaande stappen te volgen.

Go installeren op Windows

Go installeren op Windows

Golang kan eenvoudig op Windows worden geïnstalleerd. Hieronder vindt u een gedetailleerde stapsgewijze handleiding voor het installeren van Golang op Windows.

Verschil tussen gewone tv en smart-tv

Verschil tussen gewone tv en smart-tv

Smart-tv's hebben de wereld veroverd. Dankzij zoveel geweldige functies en internetverbinding heeft technologie de manier waarop we televisiekijken veranderd.

Waarom heeft de vriezer geen lampje, maar de koelkast wel?

Waarom heeft de vriezer geen lampje, maar de koelkast wel?

Koelkasten zijn vertrouwde apparaten in huishoudens. Koelkasten hebben meestal twee compartimenten. Het koelvak is ruim en heeft verlichting die automatisch aangaat wanneer de gebruiker het vak opent. Het vriesvak is smal en heeft geen verlichting.

2 manieren om netwerkcongestie te verhelpen die wifi vertraagt

2 manieren om netwerkcongestie te verhelpen die wifi vertraagt

Wi-Fi-netwerken worden niet alleen beïnvloed door routers, bandbreedte en interferentie, maar er zijn een aantal slimme manieren om uw netwerk te versterken.

Hoe u kunt downgraden van iOS 17 naar iOS 16 zonder gegevensverlies met Tenorshare Reiboot

Hoe u kunt downgraden van iOS 17 naar iOS 16 zonder gegevensverlies met Tenorshare Reiboot

Als u terug wilt naar de stabiele iOS 16 op uw telefoon, vindt u hier de basisgids voor het verwijderen van iOS 17 en downgraden van iOS 17 naar 16.

Wat gebeurt er met je lichaam als je elke dag yoghurt eet?

Wat gebeurt er met je lichaam als je elke dag yoghurt eet?

Yoghurt is een heerlijk voedingsmiddel. Is het goed om elke dag yoghurt te eten? Hoe verandert je lichaam als je elke dag yoghurt eet? Laten we het samen ontdekken!

Welk type rijst is het beste voor de gezondheid?

Welk type rijst is het beste voor de gezondheid?

In dit artikel worden de meest voedzame rijstsoorten besproken en hoe u de gezondheidsvoordelen van de rijst die u kiest, optimaal kunt benutten.

Hoe word je s ochtends op tijd wakker?

Hoe word je s ochtends op tijd wakker?

Een slaapschema en bedtijdroutine opstellen, uw wekker verzetten en uw dieet aanpassen zijn enkele maatregelen die u kunnen helpen om beter te slapen en 's ochtends op tijd wakker te worden.

Tips voor het spelen van Rent Please! Verhuurder Sim voor beginners

Tips voor het spelen van Rent Please! Verhuurder Sim voor beginners

Huren alstublieft! Landlord Sim is een simulatiespel voor mobiel op iOS en Android. Je speelt als verhuurder van een appartementencomplex en begint met het verhuren van een appartement. Je doel is om het interieur van je appartement te verbeteren en het gereed te maken voor huurders.

De nieuwste badkamertorenverdedigingscodes en hoe u deze invoert

De nieuwste badkamertorenverdedigingscodes en hoe u deze invoert

Ontvang de Roblox-gamecode voor Bathroom Tower Defense en wissel deze in voor geweldige beloningen. Ze helpen je bij het upgraden of ontgrendelen van torens met hogere schade.

Structuur, symbolen en werkingsprincipes van transformatoren

Structuur, symbolen en werkingsprincipes van transformatoren

Laten we op de meest nauwkeurige manier de structuur, symbolen en werkingsprincipes van transformatoren leren kennen.

4 manieren waarop AI smart-tvs beter maakt

4 manieren waarop AI smart-tvs beter maakt

Van betere beeld- en geluidskwaliteit tot spraakbesturing en meer: ​​deze AI-functies maken smart-tv's zoveel beter!

Waarom ChatGPT beter is dan DeepSeek

Waarom ChatGPT beter is dan DeepSeek

Aanvankelijk hadden mensen hoge verwachtingen van DeepSeek. Deze AI-chatbot wordt op de markt gebracht als sterke concurrent van ChatGPT en belooft intelligente chatmogelijkheden en -ervaringen.

Maak kennis met Fireflies.ai: de gratis AI-secretaris die u uren werk bespaart

Maak kennis met Fireflies.ai: de gratis AI-secretaris die u uren werk bespaart

Het is gemakkelijk om belangrijke details te missen wanneer u andere belangrijke zaken opschrijft. Bovendien kan het maken van aantekeningen tijdens een gesprek afleidend werken. Fireflies.ai is de oplossing.

Hoe je een Axolotl in Minecraft grootbrengt en een Minecraft Salamander temt

Hoe je een Axolotl in Minecraft grootbrengt en een Minecraft Salamander temt

Axolot Minecraft is een geweldige assistent voor spelers die onderwater opereren, als ze maar weten hoe ze deze moeten gebruiken.

A Quiet Place: The Road Ahead PC-gameconfiguratie

A Quiet Place: The Road Ahead PC-gameconfiguratie

De configuratie van A Quiet Place: The Road Ahead wordt als zeer positief beoordeeld. Houd hier dus rekening mee voordat u besluit om te downloaden.