const для неизменяемых значений
По умолчанию привязки неизменяемы.
«const для неизменяемых значений» — бесплатный урок Zig Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Bindings Start Here
In Zig, you give a value a name with a binding. The first choice you make is whether that name is allowed to change later.
Meet const
The keyword const creates a name whose value can never be reassigned. It is the safe, default way to name things in Zig.
const pi = 3.14159;Immutable by Choice
A const binding is immutable: once it points at a value, that link is locked. This makes your code easier to read and reason about.
Reassigning Is an Error
Try to give a const a new value and the compiler stops you. Zig reports a clear error instead of silently letting the bug through.
const x = 5;
x = 6; // error: cannot assign to constantInitialize at Declaration
You set a const's value right where you declare it. There is no empty const waiting to be filled in later on.
const greeting = "Hello, Zig";const for Configuration
Fixed numbers like a buffer size or a max count are perfect for const. They name a value clearly and guarantee it stays put.
const max_users = 100;Prefer const First
Good Zig style reaches for const first and only loosens up when a value truly must change. Less mutation means fewer surprises.
Type Is Still Inferred
You usually do not write a type after const. Zig infers it from the value, so const count = 0 just works as an integer.
const count = 0;const at the Top Level
Constants declared outside any function become file-wide globals. They are evaluated once and shared across your whole program.
const version = "1.0.0";Importing Returns a const
You will often see const std = @import. The result of an import is a value, and binding it with const keeps that module fixed.
const std = @import("std");Self-Documenting Code
Seeing const tells any reader the value will not move. That single keyword acts as a small, trustworthy promise about your intent.
Quick Check
You declare const limit = 10. What happens if you later write limit = 20?
Recap
You learned that const names a value that never changes. Initialize it once, let Zig infer the type, and reach for it as your default. 🔒
Часто задаваемые вопросы
Урок «const для неизменяемых значений» бесплатный?
Да — полный текст урока «const для неизменяемых значений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.
Чему я научусь в уроке «const для неизменяемых значений»?
По умолчанию привязки неизменяемы. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Zig Academy?
Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «const для неизменяемых значений»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Zig Academy?
Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- const для неизменяемых значений
- var для изменяемого состояния
- Вывод типов и явное указание типов
- undefined и неинициализированная память