🧱 Структуры в 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 или передаче данных между функциями.
📘 Итоги
- Структуры объединяют связанные данные в один тип.
- Каждый элемент структуры - это поле.
- Неинициализированные поля получают значения по умолчанию.
- Доступ к полям осуществляется через
.. - Можно создавать как заранее объявленные, так и анонимные структуры.