0Pricing
Zig Academy · Урок

if как инструкция и выражение

Создавайте ветвление и возвращайте значения одним способом.

«if как инструкция и выражение» — бесплатный урок Zig Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.

Ветвление с помощью if

Используйте if, чтобы выбрать один из путей выполнения. Zig выполняет первый блок, когда условие истинно, и пропускает его в противном случае. Просто и однозначно. 🌿

if (score > 50) {
    std.debug.print("Pass\n", .{});
}

Условия должны иметь тип bool

Условие в скобках должно быть настоящим значением bool. Zig не принимает здесь целые числа или указатели, поэтому догадок о «ложности» и «истинности» нет.

Добавление else

Объедините if с else, чтобы обработать ложный случай. Выполняется ровно один из двух блоков — никогда оба и никогда ни один.

if (ready) {
    start();
} else {
    wait();
}

Цепочка else if

Объединяйте проверки с помощью else if, чтобы выбрать одну ветвь из нескольких. Zig проверяет их сверху вниз и останавливается на первом совпадении.

if (n < 0) {
    sign = -1;
} else if (n > 0) {
    sign = 1;
} else {
    sign = 0;
}

if — это выражение

В Zig if также может выдавать значение. Обе ветви возвращают результат, и весь if становится этим результатом, который можно присвоить.

const max = if (a > b) a else b;

Обе ветви должны совпадать

Когда if выдаёт значение, обе ветви должны иметь один тип. Компилятор согласует их, чтобы результат имел единый предсказуемый тип.

Тернарный оператор не нужен

В Zig нет тернарного оператора. Форма if в виде выражения аккуратно выполняет его роль, оставляя только один способ записать выбор.

Распаковка optional

if может одновременно проверить optional и распаковать его. Захваченное имя содержит внутреннее значение только тогда, когда оно присутствует.

if (maybe_user) |user| {
    greet(user);
}

Перехват ошибок с помощью if

if также может разделять объединение ошибки и значения. Ветка else может захватить значение ошибки, если выражение завершается неудачей.

if (parse(text)) |value| {
    use(value);
} else |err| {
    report(err);
}

Фигурные скобки обязательны

Zig всегда требует фигурные скобки вокруг тела if, даже если оно состоит из одной строки. Это устраняет целый класс ошибок, связанных с неоднозначными операторами.

Досрочный возврат

Распространённый приём — досрочный return внутри if. Сначала обработайте особый случай, а затем позвольте остальной функции читаться последовательно.

if (list.len == 0) return;

Быстрая проверка

Вам нужно, чтобы max в одной строке получил большее из значений a и b. Какая форма Zig подходит?

Итоги

Вы познакомились с if как с оператором и выражением: условиями bool, else и else if, ветвями, возвращающими значения, а также распаковкой optional и перехватом ошибок. 🎯

Часто задаваемые вопросы

Урок «if как инструкция и выражение» бесплатный?

Да — полный текст урока «if как инструкция и выражение» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.

Чему я научусь в уроке «if как инструкция и выражение»?

Создавайте ветвление и возвращайте значения одним способом. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Zig Academy?

Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «if как инструкция и выражение»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Zig Academy?

Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. if как инструкция и выражение
  2. Циклы while и выражения continue
  3. Циклы for по диапазонам и элементам
  4. break, continue и именованные циклы
← Назад к Zig Academy