Zig Academy · Урок

Импорт файлов с помощью @import

Подключайте другой исходный файл в область видимости.

Урок 1 из 413 шагов

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

Подключите другой файл

Код растёт, поэтому Вы разделяете его по файлам. Встроенная команда @import подключает другой исходный файл Zig к текущему. 📦

const math = @import("math.zig");

Он возвращает значение

@import — это выражение, возвращающее значение. Вы сохраняете его в const, а затем обращаетесь к его содержимому через точку, как к структуре.

const math = @import("math.zig");
const r = math.add(2, 3);

Файл — это структура

Каждый файл Zig фактически является структурой. Его объявления верхнего уровня становятся полями и функциями, к которым Вы обращаетесь после импорта.

Только pub пересекает границу

Объявление доступно из другого файла, только если помечено как pub. Без pub оно остаётся закрытым в собственном файле.

pub fn add(a: i32, b: i32) i32 {
    return a + b;
}

Пути относительны

Путь к файлу внутри @import задаётся относительно импортирующего файла. Поэтому "util/text.zig" ищет файл в папке util рядом с текущим файлом.

const text = @import("util/text.zig");

Импортируйте стандартную библиотеку

Самый распространённый импорт — std. Это специальное имя модуля, а не путь к файлу, которое предоставляет доступ ко всей стандартной библиотеке.

const std = @import("std");

Модуль builtin

Ещё одно специальное имя — builtin. Оно предоставляет информацию времени компиляции, например целевую операционную систему и текущий режим оптимизации.

const builtin = @import("builtin");

Импорты выполняются во время компиляции

@import разрешается полностью во время компиляции. Путь должен быть известен в этот момент как строковый литерал, а не как значение, вычисленное во время выполнения.

Кэшируется, а не дублируется

Импортируйте один и тот же файл из десяти мест — Zig загрузит его один раз. Все импорты одного пути используют в точности одно и то же значение структуры.

Переименуйте для ясности

Поскольку результат — всего лишь const, Вы можете свободно его переименовать. Выберите короткий и понятный псевдоним, который хорошо читается в каждом месте вызова.

const fs = @import("std").fs;

Обращайтесь напрямую без сохранения

Также можно сразу сцепить обращение с импортом для разового использования, пропустив промежуточный const, если нужен только один элемент.

const out = @import("std").io.getStdOut();

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

Вспомните, благодаря чему элемент верхнего уровня доступен из другого файла.

Повторение

Вы узнали, что @import загружает файл как структуру во время компиляции, std и builtin — специальные имена, а границу между файлами пересекают только элементы pub. 🎯

Можно начать бесплатно

Изучай Zig с ИИ-репетитором — бесплатно

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

Курсы
30
Уроки
120

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

Урок «Импорт файлов с помощью @import» бесплатный?

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

Чему я научусь в уроке «Импорт файлов с помощью @import»?

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

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

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

Сколько времени занимает урок «Импорт файлов с помощью @import»?

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

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

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

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

  1. Импорт файлов с помощью @import
  2. Структура проекта из нескольких файлов
  3. build.zig.zon и менеджер пакетов
  4. Добавление стороннего модуля
← Назад к Zig Academy