Значения полей по умолчанию
Инициализируйте поля без повторения кода.
«Значения полей по умолчанию» — бесплатный урок Zig Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Repeating Yourself
If most instances start the same way, retyping every field is tedious. Zig lets a field carry a default value built into the type.
Give a Field a Default
Add = value after the field type. Any instance that omits that field gets the default automatically.
const Config = struct {
retries: u8 = 3,
};Omit It on Creation
Now you can build a value without mentioning the defaulted field, and it still gets 3.
const c = Config{};Override When You Want
The default is only a starting point. Set the field explicitly in the initializer to use a different value.
const c = Config{ .retries = 5 };Mix Defaults and Required
A struct can blend both. Fields with no default are required; defaulted ones may be skipped.
const User = struct {
name: []const u8,
active: bool = true,
};Empty Initializer
If every field has a default, you can construct with a bare .{} and let all defaults apply at once.
const Settings = struct {
volume: u8 = 50,
muted: bool = false,
};
const s = Settings{};Defaults Are Compile-Time
A default must be a value Zig can compute at compile time, like a literal or a comptime expression.
const Limits = struct {
max: usize = 1024,
};Any Type Can Default
Defaults work for any field type: numbers, bools, slices, even nested structs with their own defaults.
const Box = struct {
size: Settings = Settings{},
};Default to null
An optional field often defaults to null, a clean way to say it starts empty until you fill it in.
const Node = struct {
next: ?*Node = null,
};Cleaner, Safer Code
Defaults shrink your call sites and document intended starting state, so readers see the normal value right in the type.
Defaults Are Per Instance
Each new instance gets its own fresh copy of the default. They never share state between values.
Quick Check
What happens to a defaulted field you leave out?
Recap
You learned default field values: write = value after a field, then omit it to use the default or set it to override. ⚙️
Часто задаваемые вопросы
Урок «Значения полей по умолчанию» бесплатный?
Да — полный текст урока «Значения полей по умолчанию» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.
Чему я научусь в уроке «Значения полей по умолчанию»?
Инициализируйте поля без повторения кода. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Zig Academy?
Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Значения полей по умолчанию»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Zig Academy?
Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Объявление структур и полей
- Методы и параметр self
- Значения полей по умолчанию
- Анонимные структуры и кортежи