Nested Structure in Golang

A structure or struct in Golang is a user-defined type that allows us to create a group of elements of different types into a single unit. Any real-world entity that has some set of properties or fields can be represented as a struct.

Nested Structure in Golang

How to use nested structures in Golang

Go language allows nested structures. A structure that is a field of another structure is called a Nested Structure. In other words, a structure inside another structure is called a Nested Structure. Syntax:

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

}

Consider the following example to understand nested structure in Golang:

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

Result:

Details of Author
{{Sona ECE 2013}}

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

Result:

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

Example 3:

In Go, a structure can have fields that are themselves structures, called nested structures. Here is an example of a structure that has a nested structure:

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

Result:

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

Here, we define two struct types: Person and Address. Person has a nested struct field called Address. In the main function, we create a new instance of Person with an Address field. Then, we print the values ​​of various fields of the Person and Address structs using dot notation to access the nested fields.

Leave a Comment

How to Organize a Virtual Halloween Party for Remote Teams

How to Organize a Virtual Halloween Party for Remote Teams

Plan an inclusive virtual Halloween party for remote teams with time-zone-friendly scheduling, simple games, accessible options, and a practical hosting checklist.

Best Halloween Team Building Games to Play at the Workplace

Best Halloween Team Building Games to Play at the Workplace

Explore seven Halloween team building games for the workplace, with quick rules, hybrid-friendly options, accessibility tips, and practical safety guidance.

Make Realistic Fake Blood Without a Cleanup Surprise

Make Realistic Fake Blood Without a Cleanup Surprise

Mix a glossy prop-only fake blood batch, choose safer products for skin and costumes, and test cleanup before Halloween night.

Kawaii Halloween Decor Without Gore or Jump Scares

Kawaii Halloween Decor Without Gore or Jump Scares

Create a gentle Halloween look with pastel colors, friendly ghosts, easy no-carve accents, and practical safety tips for your home.

Desk Decorating Ideas for a Spooky Office Cubicle

Desk Decorating Ideas for a Spooky Office Cubicle

Create a spooky office cubicle with Halloween desk decor ideas that keep your workspace usable, tidy, and mindful of workplace safety.

Pop Culture Costume Ideas That Will Dominate Halloween 2026

Pop Culture Costume Ideas That Will Dominate Halloween 2026

Plan a recognizable Halloween 2026 look with pop culture costumes inspired by Spider-Man, Supergirl, Toy Story 5, Moana, Mario, and Wednesday.

Leftover Halloween Candy and Pumpkins: What to Do Next

Leftover Halloween Candy and Pumpkins: What to Do Next

Sort leftover Halloween candy safely, share or repurpose sealed treats, and choose food use or compost for pumpkins based on their condition.

What Not to Wear: A Guide to Professional Workplace Halloween Etiquette

What Not to Wear: A Guide to Professional Workplace Halloween Etiquette

Compare workplace Halloween costume choices by respect, dress code, mobility, and safety—and learn when a subtle accessory or a policy check is the better option.

Couples Costume Ideas for 2026: Iconic Pairs and Clever Tropes

Couples Costume Ideas for 2026: Iconic Pairs and Clever Tropes

Find a couples costume that fits your style, budget, and comfort level, from Addams Family classics to original inside-joke duos.

Last-Minute High School Halloween Costumes That Take 5 Minutes

Last-Minute High School Halloween Costumes That Take 5 Minutes

Need a last-minute high school Halloween costume? Compare 10 easy closet-based ideas by prep time, comfort, school-day practicality, and simple safety checks.