0Pricing
Zig Academy · Урок

Параметры и значения comptime

Передавайте значения, существующие во время компиляции.

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

Части этого урока еще не переведены и отображаются на английском.

Some Arguments Must Be Known Early

Sometimes a function needs an argument the compiler can see, not just the running program. Zig lets you mark such a parameter comptime. 🧩

Marking a comptime Parameter

Write comptime before a parameter name to require that its value be known at compile-time. The caller must pass a known value.

fn repeat(comptime n: usize) void {}

The Caller Supplies a Known Value

A comptime parameter accepts only values the compiler already knows, like literals or other compile-time constants.

repeat(3);

Run-Time Values Are Rejected

Pass a value that is only known at run-time into a comptime parameter and Zig reports a clear compile error.

comptime Inside a Body

You can also force a local expression to evaluate early. A comptime block runs during compilation and produces a constant.

const table = comptime buildTable();

comptime var for Compile-Time State

A comptime var is a mutable variable that exists only during compilation. Use it to accumulate a value as compile-time code runs.

comptime var sum = 0;

Known Values Specialize Functions

Because a comptime argument is fixed, Zig can generate a tailored version of the function for that exact value.

Mix comptime and Normal Parameters

A function can take both kinds at once: a comptime parameter for the known part and ordinary parameters for run-time data.

fn scale(comptime factor: u8, x: u32) u32 {
    return x * factor;
}

Validate Arguments Early

Since the value is known, you can check it during compilation and stop the build if it is wrong, before the program ever runs. ✅

No Run-Time Cost

Work driven by a comptime parameter happens during the build. The resulting binary carries the answer with nothing left to compute.

Inside, the Parameter Is Constant

Within the function body a comptime parameter behaves like a fixed constant, so you may use it in array sizes and other compile-time spots.

fn buffer(comptime n: usize) [n]u8 {
    return undefined;
}

Quick Check

A function declares a parameter as comptime n: usize. What kind of value must the caller pass?

Recap

Mark a parameter comptime to demand a compile-time value. Zig can then validate it and specialize the function with no run-time cost. 🎯

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

Урок «Параметры и значения comptime» бесплатный?

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

Чему я научусь в уроке «Параметры и значения comptime»?

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

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

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

Сколько времени занимает урок «Параметры и значения comptime»?

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

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

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

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

  1. Время компиляции и время выполнения
  2. Параметры и значения comptime
  3. Типы — это значения comptime
  4. inline for и развёрнутые циклы
← Назад к Zig Academy