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 Picture 1

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.

4.5 ★ | 2 Vote

May be interested

  • Arrays in GolangArrays in Golang
    arrays in golang or go programming language are quite similar to other programming languages. here are the things you need to know about arrays in golang.
  • Recommended fields in GolangRecommended fields in Golang
    in go structs, fields are encouraged to be the same as anonymous fields, the type of the field is the name of the field.
  • How to pass an array to a function in GolangHow to pass an array to a function in Golang
    to manage this data efficiently, you often need to pass arrays to functions. in this article, we will learn how to pass arrays to functions in golang.
  • Complex String Slice in GolangComplex String Slice in Golang
    there are two terms slice and composite literal. in this article we will learn how to create a slice and use composite literal in golang.
  • How to copy one slice into another slice in GolangHow to copy one slice into another slice in Golang
    to copy one slice into another, go provides a built-in function called copy(). this function allows you to copy elements from one slice (source slice) into another slice (destination slice).
  • What is the difference between Go and Java?What is the difference between Go and Java?
    is golang better than java? is golang harder than java? can golang replace java? this comparison will give you the answer.
  • How to create basic program in GolangHow 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 WindowsHow to Install Go on Windows
    golang can be easily installed on windows. here is a step-by-step guide to install golang on windows.
  • What is the best URL structure for SEO?What is the best URL structure for SEO?
    many visitors will reach your website by clicking on a link, so you might be wondering if what's in the url of a particular page is really important.
  • Matrix in PythonMatrix in Python
    in this article, we will learn about python matrices using nested lists and the numpy library.