Перейти к содержанию

Глава 0 — Начало работы

Добро пожаловать§

Zig — это язык программирования общего назначения и инструмент для создания надёжного, оптимального и переиспользуемого ПО.

Внимание: последняя значительная версия 0.11 — Zig всё ещё не дошёл до 1.0; Вы можете столкнуться с багами компилятора, не рекомендуем использовать его в производстве.

Для следования этому руководству желательно:

  • Иметь предыдущий опыт разработки
  • Хотя бы немного понимать некоторые низкоуровневые концепции

Знание языков по типу Си, C++, Rust, Go, Паскаля и т.д. также будет весьма полезно. У вас должен быть текстовый редактор, терминал и Интернет-подключение. Это руководство не аффилировано (и не связано) с Zig Software Foundation и предназначено для последовательного чтения.

Установка§

В этом руководстве подразумевается, что вы используете «ночную» сборку (с последнего коммита master ветки) Zig, а не последнюю выпущенную версию, т.е. вам необходимо скачать её с сайта или собрать из исходного кода; Скорее всего, в менеджере пакетов вашей системы отслеживаются только выпущенные версии Zig. Это руководство не поддерживает выпуск Zig 0.10.1.

  1. Скачайте и распакуйте сборку Zig из раздела master в https://ziglang.org/ru/download.

  2. Добавьте Zig в PATH

  3. Linux, MacOS, BSD

    Добавьте путь к исполняемому файлу Zig в вашу переменную окружения PATH. Для постоянной работы добавьте команду export PATH=$PATH:~/zig (где ~/zig является путем к исполняемому файлу Zig) в ваш /etc/profile (для всей системы) или $HOME/.profile (для текущего пользователя). Если эти изменения не сработали сразу, выполните эту команду в текущей командной оболочке или перезапустите терминал. - Windows

    a) На всю систему (PowerShell от администратора)

    [Environment]::SetEnvironmentVariable(
       "Path",
       [Environment]::GetEnvironmentVariable("Path", "Machine") + ";C:\ваш-путь-к-распакованному\zig-windows-x86_64-ваша-версия",
       "Machine"
    )
    

    b) Для текущего пользователя (PowerShell)

    [Environment]::SetEnvironmentVariable(
       "Path",
       [Environment]::GetEnvironmentVariable("Path", "User") + ";C:\ваш-путь-к-распакованному\zig-windows-x86_64-ваша-версия",
       "User"
    )
    

    После этого перезапустите терминал.

  4. Проверьте вашу установку с помощи zig version. Команда должна напечатать что-то наподобии:

    $ zig version
    0.11.0-dev.2777+b95cdf0ae
    

  5. (Необязательно, сторонние разработчики) Для автодополнения, перехода к объявлению и прочих полезных штук установите Zig Language Server с https://github.com/zigtools/zls/ (необходим редактор с поддержкой Language Server Protocol).

  6. (Необязательно) Войдите в сообщество Zig.

Привет, мир!§

Создайте файл под названием main.zig с следующим содержимым:

const std = @import("std");

pub fn main() void {
    std.debug.print("Привет, {s}!\n", .{"Мир"});
}

примечание: убедитесь, что в вашем файле используется кодировка UTF-8!

примечание: Если вы используете табуляцию для отступов и/или перевод строки CRLF (стиль Windows), компилятор Zig примет их, но использование zig fmt заменит их на пробелы и перевод строки LF (стиль Unix)

Запустите команду zig run main.zig для сборки и запуска этого файла. В этом примере программа напечатает Привет, Мир! в stderr (стандартный вывод ошибок).