bool, void и типы времени компиляции
Небольшие, но важные примитивные типы.
«bool, void и типы времени компиляции» — бесплатный урок Zig Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.
Маленькие, но важные типы
Помимо чисел, в Zig есть несколько небольших примитивных типов, которые встречаются повсюду: bool, void и специальные числовые типы времени компиляции. 🧩
bool хранит true или false
bool хранит ровно одно из двух значений: true или false. Он управляет каждым оператором if и условием while в вашей программе.
const ready: bool = true;Логические значения получают из сравнений
Операторы сравнения создают логические значения. Выражение 5 > 3 даёт true, и это значение можно сохранить или сразу проверить.
const bigger = 5 > 3; // truevoid означает отсутствие значения
Тип void обозначает отсутствие значения. Функция, возвращающая void, после завершения не возвращает ничего содержательного.
fn log() void {
// does work, returns nothing
}Где используется void
void встречается как тип результата функций с побочными эффектами, а также как содержимое контейнеров, которым важно только наличие ключа.
comptime_int для целых литералов
Нетипизированное целое число, например 42, изначально имеет тип comptime_int. Он поддерживает произвольную точность и получает фиксированную разрядность только при присваивании.
const n = 42; // comptime_int until usedcomptime_float для дробных значений
Аналогично, нетипизированное дробное число, например 3.14, имеет тип comptime_float. Во время компиляции оно хранится точно, пока не преобразуется в f32 или f64.
const ratio = 3.14; // comptime_floatЧисла времени компиляции гибкие
Поскольку эти типы существуют только во время компиляции, они могут точно хранить очень большие и очень маленькие значения. При использовании они приводятся к типам с фиксированной разрядностью.
Тип type
В Zig сам тип является значением типа type. Благодаря этому функции могут принимать и возвращать типы для обобщённого программирования.
const T: type = i32;anyopaque для неизвестных данных
Тип anyopaque обозначает память с неизвестной структурой. Его часто используют на границах с C, где расположение данных скрыто от Zig.
Почему важны эти примитивы
Вместе эти небольшие типы образуют основу Zig: логические значения нужны для логики, void — для отсутствия значения, а числа времени компиляции — для гибких литералов.
Быстрая проверка
Вы записали литерал 100 без аннотации типа. Какой тип Zig назначит ему до того, как он будет куда-либо присвоен?
Итоги
Помните о небольших примитивных типах: bool для true и false, void для отсутствия значения, а comptime_int и comptime_float — для гибких литералов. 🎯
Часто задаваемые вопросы
Урок «bool, void и типы времени компиляции» бесплатный?
Да — полный текст урока «bool, void и типы времени компиляции» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.
Чему я научусь в уроке «bool, void и типы времени компиляции»?
Небольшие, но важные примитивные типы. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Zig Academy?
Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «bool, void и типы времени компиляции»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Zig Academy?
Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Целые числа заданного размера: i32, u8, usize
- Числа с плавающей точкой: f32 и f64
- bool, void и типы времени компиляции
- Числовые литералы и символы подчёркивания