Анонимные структуры и поля в Golang

Зарегистрируйтесь и зарабатывайте 1000$ в день ⋙

В Golang структуры (или structs) позволяют нам группировать элементы разных типов в единое целое, что полезно для моделирования сущностей реального мира. Анонимные структуры в Golang — это временные структуры без имен, используемые для одноразовых целей, в то время как анонимные поля допускают встраивание неименованных полей.

Анонимные структуры и поля в Golang

Например:

package main
import "fmt"

// struct học sinh với cấu trúc và trường ẩn danh
type Student struct {
    struct {    // Cấu trúc bên trong ẩn danh cho thông tin cá nhân
        name string
        enrollment int
    }
    GPA float64  // Trường chuẩn
}

func main() {
    student := Student{
        struct {
            name string
            enrollment int
        }{
            name: "A",
            enrollment: 12345,
        },
        GPA: 3.8,
    }
    fmt.Println("Name:", student.name)
    fmt.Println("Enrollment:", student.enrollment)
    fmt.Println("GPA:", student.GPA)
}

Синтаксис:

variable := struct {
    field1 dataType1
    field2 dataType2                                                          # Cấu trúc ẩn danh
    // Trường bổ sung khi cần
}{value1, value2}


type StructName struct {
    dataType1
    dataType2                                                                    # Trường ẩn danh                                        
    // Trường ẩn danh bổ sung
}

Анонимные структуры в Go

Анонимные структуры в Go определяются без имени и полезны для создания временных, одноразовых структур. Вот синтаксис и пример кода.

Синтаксис:

variable := struct {
    field1 dataType1
    field2 dataType2
    // Các trường bổ sung khi cần
}{value1, value2}

Например:

package main
import "fmt"
// Cấu trúc sinh viên với cấu trúc bên trong ẩn danh cho thông tin cá nhân
type Student struct {
    personalDetails struct { // Cấu trúc ẩn danh bên trong cho thông tin cá nhân
        name       string
        enrollment int
    }
    GPA float64 // Trường chuẩn
}
func main() {
    // Khởi tạo cấu trúc bên trong cho student
    student := Student{
        personalDetails: struct {
            name       string
            enrollment int
        }{
            name:       "A",
            enrollment: 12345,
        },
        GPA: 3.8,
    }
    // Hiện giá trị
    fmt.Println("Name:", student.personalDetails.name)
    fmt.Println("Enrollment:", student.personalDetails.enrollment)
    fmt.Println("GPA:", student.GPA)
}

Результат:

Name: A
Enrollment: 12345
GPA: 3.8

Этот код определяет структуру Student с анонимной структурой personalDetails внутри, в которой хранятся имя и регистрационная информация. Затем инициализируйте студента значениями для этих полей и распечатайте их.

Анонимные поля

Анонимные поля в Go позволяют определять поля без явных имен, указываются только их типы. Это полезно, когда поля естественным образом следуют за именем типа.

Синтаксис

type StructName struct {
    dataType1
    dataType2
    // Additional anonymous fields
}

Например:

package main
import "fmt"

// Cấu trúc học sinh bằng các trường ẩn danh
type Student struct {
    int     // Số đăng ký (trường ẩn danh)
    string  // Tên trường ẩn danh
    float64 // GPA (trường ẩn danh)
}

func main() {
    // Khởi tạo struct học sinh với các trường ẩn danh
    student := Student{12345, "A", 3.8}

    // Hiện giá trị
    fmt.Println("Enrollment:", student.int)
    fmt.Println("Name:", student.string)
    fmt.Println("GPA:", student.float64)
}

Результат:

Enrollment: 12345
Name: A
GPA: 3.8

Здесь типы данных ( int, string, float64 ) выступают в качестве имен полей, поэтому доступ к значениям зависит от типов.

Важные моменты, которые следует помнить об анонимных полях в Golang

1. Уникальное требование: нельзя использовать два поля одного типа в одной структуре. Например:

type InvalidStudent struct {
    int
    int // Error: duplicate type
}

2. Объединение именованных и анонимных полей: Вы можете объединить анонимные и именованные поля в структуру.

type Student struct {
    id int // Named field
    int    // Anonymous field
}
Sign up and earn $1000 a day ⋙

Leave a Comment

Ключевые слова в Go

Ключевые слова в Go

Ключевое слово. Ключевые слова — это слова в языке, которые используются для обозначения какого-либо внутреннего процесса или представляют собой какое-либо предопределенное действие. Вот что вам нужно знать о ключевых словах в Golang.

Типы данных в Golang

Типы данных в Golang

Тип данных определяет тип данных, которые может содержать допустимая переменная Go. В языке Go типы делятся на четыре категории следующим образом:

Аргументы функций в Golang

Аргументы функций в Golang

Go поддерживает два основных способа передачи аргументов: передача по значению и передача по ссылке. Go по умолчанию использует передачу по значению.

Функция, возвращающая несколько значений в Golang

Функция, возвращающая несколько значений в Golang

В языке Go разрешено возвращать несколько значений из функции с помощью оператора return. Другими словами, в функции оператор return может возвращать несколько значений.

Оператор Switch в Go

Оператор Switch в Go

В Golang, как и в большинстве других языков программирования, есть оператор switch. Вот как использовать оператор switch в Golang.

Случаи, которые следует знать при использовании операторов выбора в Golang

Случаи, которые следует знать при использовании операторов выбора в Golang

В этой статье мы узнаем, как использовать регистр по умолчанию, чтобы избежать взаимоблокировки. Но сначала давайте выясним, что такое случай взаимоблокировки при использовании команды select в Golang?

Как использовать Руну в Golang

Как использовать Руну в Golang

Что такое руны в языке Голанг? Как использовать руну в Golang? Статья даст вам ответ.

Как использовать операторы в Golang

Как использовать операторы в Golang

Операторы позволяют нам выполнять различные типы операций над операндами. В языке Go операторы можно классифицировать на основе их различных функций.

Идентификатор Void в Golang

Идентификатор Void в Golang

_(подчеркивание) в Golang называется пустым идентификатором. Идентификатор — определяемое пользователем имя компонентов программы, используемое для целей идентификации.

Как создать базовую программу на Golang

Как создать базовую программу на Golang

Привет, мир! это первая базовая программа на любом языке программирования. Вы можете написать эту первую программу на Golang, следуя инструкциям ниже.

Как установить Go на Windows

Как установить Go на Windows

Golang можно легко установить на Windows. Ниже приведено подробное пошаговое руководство по установке Golang на Windows.

Методы с таким же названием в Golang

Методы с таким же названием в Golang

Golang позволяет создавать два или более методов с одинаковым именем в одном пакете, но получатели этих методов должны быть разных типов.

Функции в Go

Функции в Go

В Go функции представляют собой блоки кода, выполняющие определенные задачи, которые можно повторно использовать в программе для экономии памяти, улучшения читаемости и экономии времени.

Область действия переменных в Go

Область действия переменных в Go

Область действия переменной в Golang определяет часть программы, где эта переменная доступна. В Go все идентификаторы имеют лексическую область действия, которая определяется во время компиляции.

Пространство «Играй вместе», назовите пространство «Играй вместе»

Пространство «Играй вместе», назовите пространство «Играй вместе»

Многие люди используют пробелы в своих именах в Play Together или используют маленькие подчеркивания, чтобы создать пробелы между буквами, которые вы пишете в своем имени.

Как скачать Black Beacon PC

Как скачать Black Beacon PC

Хотя Black Beacon вполне можно опробовать на ПК, на данный момент игра официально не оптимизирована для этой платформы.

Формула для расчета площади поверхности и объема сферы

Формула для расчета площади поверхности и объема сферы

Площадь поверхности сферы в четыре раза больше площади большого круга, которая в четыре раза больше постоянной Пи, умноженной на квадрат радиуса сферы.

Что особенного в скафандре, который Китай выбрал для первой высадки человека на Луну?

Что особенного в скафандре, который Китай выбрал для первой высадки человека на Луну?

Китай намерен отправить своих первых граждан на Луну к 2030 году, и страна только что представила новый скафандр, который будет использоваться в предстоящей исторической миссии.

Продукты, которые легко вызывают воспаление в организме

Продукты, которые легко вызывают воспаление в организме

Многие продукты могут вызывать воспаления и хронические заболевания. Ниже приведены продукты, которых следует избегать, если вы не хотите занести в свой организм болезни.

Инструкции по игре Zuka Lien Quan Mobile, сезон S1 2023

Инструкции по игре Zuka Lien Quan Mobile, сезон S1 2023

Зука — убийца, который, как известно, является ужасом для чемпионов с низким уровнем здоровья. Узнайте, как эффективно использовать Зуку в 23 сезоне.

Последний код Heroic Era и как его использовать

Последний код Heroic Era и как его использовать

Получение подарков с помощью подарочных кодов Heroic Age — это то, что делают почти все новые игроки, присоединяясь к игре.

8 самых дешевых поставщиков облачных хранилищ

8 самых дешевых поставщиков облачных хранилищ

Давайте рассмотрим самые дешевые варианты облачного онлайн-хранилища. В этой статье мы рассмотрим цены как в абсолютных цифрах, так и за гигабайт (в месяц), чтобы вы могли выбрать наиболее подходящий для вас вариант.

Что означает ошибка со знаком решетки (####) в Excel?

Что означает ошибка со знаком решетки (####) в Excel?

#### в Excel — это распространенная ошибка Excel, которая появляется во многих случаях, когда мы вводим данные в Excel, функции в Excel, вводим формулы в Excel.

12 настроек на телефонах Samsung Galaxy, которые следует изменить

12 настроек на телефонах Samsung Galaxy, которые следует изменить

Только что купили телефон Samsung Galaxy и вам нужно его настроить? Вот 10 настроек, которые следует изменить, чтобы улучшить работу телефона Samsung.

Последние коды Murder Mystery 2 и как их ввести

Последние коды Murder Mystery 2 и как их ввести

Code Murder Mystery 2 помогает игрокам выбирать больше обликов ножей для своих персонажей или получать больше денег для оплаты услуг и покупки других вещей в игре.

28 красивых дизайнов поздравительных открыток с добрыми пожеланиями для родителей, супругов, возлюбленных, друзей

28 красивых дизайнов поздравительных открыток с добрыми пожеланиями для родителей, супругов, возлюбленных, друзей

В день рождения любимого человека, родителей, друзей, братьев и сестер, коллег... помимо подарков не забудьте отправить поздравительные открытки с пожеланиями.

Забавные, но милые загадки о флирте, которые «завоюют» сердце вашего возлюбленного

Забавные, но милые загадки о флирте, которые «завоюют» сердце вашего возлюбленного

Эти забавные тесты помогут вам произвести сильное впечатление и быстро и счастливо покорить сердце вашей пассии.

Corki DTCL сезон 7: предметы сборки, стандартный отряд Corki Gunner

Corki DTCL сезон 7: предметы сборки, стандартный отряд Corki Gunner

Корки DTCL 7 сезон нуждается в защите или поддержке, чтобы вызвать контроль, если он хочет быть свободным и уничтожить вражескую команду. В то же время, снаряжение Корки также должно быть стандартным, чтобы иметь возможность наносить более эффективный урон.

Как скачать Mini World Royale и инструкции по игре

Как скачать Mini World Royale и инструкции по игре

Вот ссылка на скачивание Mini World Royale и инструкции по игре, у нас будет две версии: Mini World Royale APK и Mini World Royale iOS.