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 use constants in Golang

How to use constants in Golang

What is a Constant or Const in Golang? Here's what you need to know about using constants in Go.

Volatile functions in Golang

Volatile functions in Golang

Variadic functions in Go allow you to pass a variable number of arguments to a function. Here's everything you need to know about variadic functions in Golang.

Named return parameters in Golang

Named return parameters in Golang

In Golang, named return parameters are often referred to as named parameters. Golang allows naming the return parameters or results of functions in the function signature or definition.

Keywords in Go

Keywords in Go

Keyword - Keywords are words in a language that are used for some internal processes or represent some predefined actions. Here is what you need to know about keywords in Golang.

Data types in Golang

Data types in Golang

Data types specify what type of data a valid Go variable can hold. In the Go language, types are divided into four categories as follows:

Function arguments in Golang

Function arguments in Golang

Go supports two main ways to pass arguments: Pass by Value and Pass by Reference. Go uses pass by value by default.

Function returning multiple values ​​in Golang

Function returning multiple values ​​in Golang

In Go language, you are allowed to return multiple values ​​from a function, using the return statement. In other words, in a function, a return statement can return multiple values.

Switch Statement in Go

Switch Statement in Go

Golang like most other programming languages ​​has switch statement. Here is how to use switch statement in Golang.

Cases to know when using selection statements in Golang

Cases to know when using selection statements in Golang

In this article, we will learn how to use default case to avoid deadlock. But first, we will learn what is deadlock case when using select command in Golang?

Anonymous structures and fields in Golang

Anonymous structures and fields in Golang

Anonymous structs in Golang are temporary structures with no names used for one-time purposes, while anonymous fields allow embedding of unnamed fields.

How to use Rune in Golang

How to use Rune in Golang

What is Rune in Golang? How to use Rune in Golang? This article will give you the answer.

How to use operators in Golang

How to use operators in Golang

Operators allow us to perform different types of operations on operands. In Go language, operators can be classified based on their different functions.

Void identifier in Golang

Void identifier in Golang

_(underscore) in Golang is called Blank Identifier. Identifier is a user-defined name of program elements used for identification purposes.

How to create basic program in Golang

How to create basic program in Golang

Hello, World! is the first basic program in any programming language. You can write this first program in Golang by following the steps below.

How to Install Go on Windows

How to Install Go on Windows

Golang can be easily installed on Windows. Here is a step-by-step guide to install Golang on Windows.

How to Fix Microsoft Teams Error K Security

How to Fix Microsoft Teams Error K Security

Struggling with Microsoft Teams "Error K" Security? Follow our step-by-step guide to fix it quickly—no tech expertise needed. Get back to seamless collaboration today!

How to Fix Microsoft Teams Update Error 0x80070002

How to Fix Microsoft Teams Update Error 0x80070002

Struggling with Microsoft Teams Update Error 0x80070002? Discover step-by-step fixes to resolve it quickly. Clear cache, repair files, and get back to seamless updates today!

Solving Microsoft Teams Web Error Browser Login

Solving Microsoft Teams Web Error Browser Login

Tired of Microsoft Teams "Web Error" blocking your browser login? Follow our step-by-step guide with proven fixes to resolve Teams web login issues fast and securely. Get back to work!

How to Fix Microsoft Teams Error O Offline

How to Fix Microsoft Teams Error O Offline

Stuck with Microsoft Teams "Error O" Offline? Discover proven, step-by-step fixes to get back online fast. Clear cache, restart, and more – no tech skills needed!

Where is Microsoft Teams in Outlook? Locating the Missing Icon

Where is Microsoft Teams in Outlook? Locating the Missing Icon

Frustrated by the missing Microsoft Teams icon in Outlook? Learn exactly where to find it, why it disappears, and proven steps to restore it for effortless meetings. Updated for the latest versions!

Solving Microsoft Teams Windows 10 Error Login Issues

Solving Microsoft Teams Windows 10 Error Login Issues

Struggling with Microsoft Teams "Windows 10 Error" login issues? Get instant fixes for cache clears, updates, and more. Step-by-step solutions to solve Microsoft Teams login error on Windows 10 fast and frustration-free.

Solving Microsoft Teams Website Error Tab Not Loading

Solving Microsoft Teams Website Error Tab Not Loading

Tired of the frustrating Microsoft Teams "Website Error" where tabs won’t load? Get step-by-step fixes to resolve it quickly and boost your productivity. Essential troubleshooting for seamless Teams experience.

How to Fix Microsoft Teams Web Error 503 Service Unavailable

How to Fix Microsoft Teams Web Error 503 Service Unavailable

Tired of the frustrating Microsoft Teams "Web Error" 503 Service Unavailable? Discover proven, step-by-step fixes for Teams 503 error on web. Get back online fast with our expert guide. Works on all browsers!

How to Fix Microsoft Teams Win 7 Error Compatibility

How to Fix Microsoft Teams Win 7 Error Compatibility

Struggling with Microsoft Teams "Win 7 Error" compatibility? Discover step-by-step fixes to restore seamless video calls and chats on unsupported Windows versions. Quick, reliable solutions inside!

Troubleshooting Microsoft Teams Breakout Rooms License Errors

Troubleshooting Microsoft Teams Breakout Rooms License Errors

Master troubleshooting Microsoft Teams Breakout Rooms license errors with this step-by-step guide. Quick fixes for common license issues, admin checks, and prevention tips to get your meetings running smoothly.

How to Fix Microsoft Teams Version History Error

How to Fix Microsoft Teams Version History Error

Struggling with Microsoft Teams "Version History" Error? Discover proven, step-by-step fixes to restore access instantly. Clear cache, update Teams, and more—no tech skills needed!

Solving Microsoft Teams Joining Error: Meeting ID Not Found

Solving Microsoft Teams Joining Error: Meeting ID Not Found

Tired of the frustrating Microsoft Teams Joining Error: Meeting ID Not Found? Get step-by-step fixes to rejoin meetings fast. Updated with the latest Teams patches for seamless collaboration. Solve it now!

Troubleshooting Microsoft Teams Video Error Green Screen

Troubleshooting Microsoft Teams Video Error Green Screen

Struggling with Microsoft Teams "Video Error" green screen? Discover proven, step-by-step troubleshooting fixes for seamless video calls. Quick solutions inside!

How to Fix Microsoft Teams How Teams Works Tutorial Error

How to Fix Microsoft Teams How Teams Works Tutorial Error

Struggling with the Microsoft Teams "How Teams Works" Tutorial Error? Discover proven, step-by-step fixes to resolve it quickly. Clear cache, update, and more for seamless onboarding. Works on latest versions!

How to Fix Microsoft Teams Error Today on Windows 10

How to Fix Microsoft Teams Error Today on Windows 10

Tired of the frustrating Microsoft Teams "Error Today" on Windows 10? Discover proven, step-by-step fixes to resolve it quickly and restore smooth teamwork. No tech skills needed!