English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
СтруктураВ Golang это пользовательский тип, который позволяет нам создавать набор различных элементов в одном блоке. Любой реальный объект с набором свойств или полей можно представить как структуру. Язык Go позволяет использовать вложенные структуры. Структура может быть полем другой структуры, что называется вложенной структурой. Иначе говоря, структура в другой структуре называется вложенной структурой.
Синтаксис:
type struct_name_1 struct{ // Fields } type struct_name_2 struct{ variable_name struct_name_1 }
Давайте рассмотрим этот концепт с помощью примера:}}
//Вложенная структура package main import "fmt" //Создание структуры type Author struct { name string branch string year int } //Создание вложенной структуры type HR struct { //Структура полей details Author } func main() { //Инициализация полей структуры result := HR{ details: Author{"Sona", "ECE", 2013}, } //Вывод значений fmt.Println("\nПодробная информация об авторе") fmt.Println(result) }
Вывод:
Подробная информация об авторе {{Sona ECE 2013}}
Пример вложенной структуры 2:
package main import "fmt" //Создание структуры type Student struct { name string branch string year int } //Создание вложенной структуры type Teacher struct { name string subject string exp int details Student } func main() { //Инициализация полей структуры result := Teacher{ name: "Suman", subject: "Java", exp: 5, details: Student{"Bongo", "CSE", 2}, } fmt.Println("Подробная информация о преподавателе") fmt.Println("Имя преподавателя: ", result.name) fmt.Println("Дисциплина: ", result.subject) fmt.Println("Опыт: ", result.exp) fmt.Println("\nПодробная информация о студенте") fmt.Println("Имя студента: ", result.details.name) fmt.Println("Название отдела студента: ", result.details.branch) fmt.Println("Возраст: ", result.details.year) }
Вывод:
Подробная информация о преподавателе Имя преподавателя: Suman Дисциплина: Java Опыт: 5 Подробная информация о студенте Имя студента: Bongo Название отдела студента: CSE Возраст: 2