Structură imbricată în Golang

O structură sau struct în Golang este un tip definit de utilizator care ne permite să creăm un grup de elemente de diferite tipuri într-o singură unitate. Orice entitate din lumea reală care are un set de proprietăți sau câmpuri poate fi reprezentată ca o structură.

Structură imbricată în Golang

Cum să utilizați structurile imbricate în Golang

Limbajul Go permite structuri imbricate. O structură care este un câmp al unei alte structuri se numește Structură Imbricată. Cu alte cuvinte, o structură din interiorul unei alte structuri se numește Structură Imbricată. Sintaxă:

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

}

Luați în considerare următorul exemplu pentru a înțelege structura imbricată în Golang:

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

Rezultat:

Details of Author
{{Sona ECE 2013}}

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

Rezultat:

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

Exemplul 3:

În Go, o structură poate avea câmpuri care sunt ele însele structuri, numite structuri imbricate. Iată un exemplu de structură care are o structură imbricată:

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

Rezultat:

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

Aici definim două tipuri de structuri: Persoană și Adresă. Persoana are un câmp structura imbricat numit Adresă. În funcția principală, creăm o nouă instanță Person cu un câmp Adresă. Apoi imprimăm diferitele valori de câmp ale structurilor Persoană și Adresă folosind notația cu puncte pentru a accesa câmpurile imbricate.

Lasă un comentariu

Afaceri secundare care chiar dau roade în 2026: 7 opțiuni realiste și compromisurile de știut

Afaceri secundare care chiar dau roade în 2026: 7 opțiuni realiste și compromisurile de știut

Compară activități secundare realiste pentru 2026 în funcție de costul de pornire, comisioane, flexibilitate și controlul veniturilor, cu îndrumări actuale privind impozitele și escrocheriile din surse oficiale.

Ergonomia muncii la distanță în 2026: Modernizați-vă biroul de acasă fără a cumpăra prea mult

Ergonomia muncii la distanță în 2026: Modernizați-vă biroul de acasă fără a cumpăra prea mult

Îmbunătățiți-vă ergonomia biroului de acasă cu îndrumările OSHA și NIOSH actuale privind potrivirea scaunului, înălțimea monitorului, configurarea laptopului, iluminarea și mișcarea.

De ce este importantă inteligența emoțională în leadership - și cum să o construim

De ce este importantă inteligența emoțională în leadership - și cum să o construim

Află de ce contează inteligența emoțională în leadership, unde ajută cel mai mult, cum să o consolidezi și cum să-ți dai seama dacă abordarea ta funcționează.

Cum să faci tranziția către o carieră în tehnologie fără diplomă: O foaie de parcurs axată pe rezultate pentru 2026

Cum să faci tranziția către o carieră în tehnologie fără diplomă: O foaie de parcurs axată pe rezultate pentru 2026

O foaie de parcurs practică pentru a intra în domeniul tehnologiei fără diplomă: alege un rol accesibil, dezvoltă abilități pregătite pentru angajare, demonstrează-le prin proiecte și folosește feedback-ul de la angajare pentru a te îmbunătăți.

Building a Personal Brand on LinkedIn in 2026: What Still Works, What Changed, and What to Ignore

Building a Personal Brand on LinkedIn in 2026: What Still Works, What Changed, and What to Ignore

Build a credible LinkedIn personal brand in 2026 with current profile, content, newsletter, analytics, verification, and visibility guidance from LinkedIn.

Demisii discrete vs. concedieri discrete în 2026: Ce se schimbă cu adevărat la locul de muncă

Demisii discrete vs. concedieri discrete în 2026: Ce se schimbă cu adevărat la locul de muncă

Demisiile discrete și concedierile discrete sunt etichete atrăgătoare, nu diagnostice. Aflați ce se verifică, ce depinde de context și ce pot face angajații și managerii în continuare.

Ascensiunea executivului fracțional: Când conducerea cu jumătate de normă în funcții de conducere are sens

Ascensiunea executivului fracțional: Când conducerea cu jumătate de normă în funcții de conducere are sens

Directorii executivi fracționari oferă funcții de conducere fără angajare cu normă întreagă. Învață când funcționează modelul, ce să ceri și riscurile de gestionat.

Cum să negociezi o mărire de salariu în timpul evaluărilor performanței din trimestrul 4: Un ghid practic pentru deciziile din 2026

Cum să negociezi o mărire de salariu în timpul evaluărilor performanței din trimestrul 4: Un ghid practic pentru deciziile din 2026

Pregătiți o cerere de mărire salarială mai convingătoare pentru trimestrul 4, incluzând date salariale actuale, opțiuni de sincronizare, compromisuri salariale și scenarii pentru rezultate afirmative, parțiale sau negative.

6 High-Income Skills You Can Start Learning Before 2026 Ends

6 High-Income Skills You Can Start Learning Before 2026 Ends

Choose a high-income skill you can realistically start before 2026 ends, with current pay data, learning priorities, and a practical self-check.

Stăpânirea programului de lucru hibrid: un cadru practic care chiar rezistă

Stăpânirea programului de lucru hibrid: un cadru practic care chiar rezistă

Construiește un program de lucru hibrid în jurul sarcinilor, suprapunerii echipei și rezultatelor măsurabile. Vezi modele, semne de avertizare și când să-ți ajustezi planul.