Назад к урокам

Структуры в Go

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

Начинающий9 min

🧱 Структуры в Go

Структуры позволяют объединять связанные данные в один объект. Это мощный инструмент для организации кода, похожий на «класс» в других языках, но без встроенного поведения - только данные.


📌 Что такое структура?

Структура (struct) - это набор полей, где каждое поле имеет своё имя и тип. Она позволяет хранить связанные значения вместе и делает код организованным и удобным.

Преимущества структур: - группировка данных, - удобное обращение через dot-notation, - возможность создавать собственные типы данных.


🧩 Определение структуры

type Sample struct {
    field string
    a, b  int
}

Здесь создан новый тип Sample с тремя полями.


🛠 Создание экземпляров структуры

Краткая форма:

data := Sample{"word", 1, 2}

Явное указание полей:

data := Sample{
    field: "word",
    a:     1,
    b:     2,
}

Если какое-то поле не указано - оно получит значение по умолчанию.


📥 Доступ к полям структуры

Можно читать и изменять значения через точечную нотацию:

word := data.field
a, b := data.a, data.b

data.field = "hello"
data.a = 10
data.b = 20

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

Иногда можно создать структуру «на лету», не определяя заранее тип:

Через var:

var sample struct {
    field string
    a, b  int
}

sample.field = "hello"
sample.a = 9

Через короткую форму:

sample := struct {
    field string
    a, b  int
}{
    "hello",
    1,
    2,
}

Анонимные структуры удобны при работе с библиотеками, API или передаче данных между функциями.


📘 Итоги

  • Структуры объединяют связанные данные в один тип.
  • Каждый элемент структуры - это поле.
  • Неинициализированные поля получают значения по умолчанию.
  • Доступ к полям осуществляется через ..
  • Можно создавать как заранее объявленные, так и анонимные структуры.