var для изменяемого состояния
Узнайте, когда и как разрешать присваивание нового значения.
«var для изменяемого состояния» — бесплатный урок Zig Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.
Когда значения изменяются
Некоторые значения действительно должны изменяться: counter, текущая сумма или текущий score. Для них в Zig есть ключевое слово var.
Знакомство с var
Ключевое слово var создаёт изменяемую привязку. В отличие от const, имя, объявленное с var, можно переназначать снова и снова.
var score = 0;Свободное переназначение
Если значение является var, его обновление — обычное assignment. Специальный синтаксис не нужен: достаточно имени и нового значения.
var score = 0;
score = 10;Обновление на месте
Можно вычислить новое значение на основе старого. Добавление к counter — классический пример полезного mutation в цикле.
var count: u32 = 0;
count += 1;Тип часто необходим
Для var, начинающегося с нуля, Zig может запросить тип, чтобы определить width целого числа. Укажите его один раз — и всё готово.
var total: i64 = 0;Неиспользуемое изменение вызывает предупреждение
Если Вы объявили var, но фактически его не изменяете, Zig выдаст предупреждение. Он подсказывает заменить его на const для более ясного намерения.
var внутри функций
Изменяемые локальные привязки находятся внутри функций и живут в течение этого scope. Накопитель цикла, объявленный с var, — отличный повседневный пример.
var sum: u32 = 0;
sum += value;Цена изменяемости
Каждый var — ещё один элемент, который может неожиданно измениться. Используйте его там, где изменение является целью, а не как ленивый вариант default.
Счётчики циклов
Цикл while часто продвигает var на каждом проходе. Привязка обновляется, условие проверяется снова, и цикл advances.
var i: usize = 0;
while (i < 5) : (i += 1) {}Тот же тип, новое значение
Значение var может измениться, но его type — нет. i32 остаётся i32: нельзя внезапно сохранить текст в числовой привязке.
Итоги: var и const
Запомните простое правило: const — значение, закреплённое на месте, а var — значение, которому предназначено изменяться. Выбирайте var только при необходимости.
Быстрая проверка
Вам нужен counter, который увеличивается внутри цикла. С каким ключевым словом его объявить?
Итоги
Вы узнали, что var создаёт изменяемую привязку для значений, которые меняются. При необходимости указывайте её тип и используйте var только там, где действительно нужна изменяемость. 🔁
Часто задаваемые вопросы
Урок «var для изменяемого состояния» бесплатный?
Да — полный текст урока «var для изменяемого состояния» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.
Чему я научусь в уроке «var для изменяемого состояния»?
Узнайте, когда и как разрешать присваивание нового значения. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Zig Academy?
Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «var для изменяемого состояния»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Zig Academy?
Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- const для неизменяемых значений
- var для изменяемого состояния
- Вывод типов и явное указание типов
- undefined и неинициализированная память