Строковые литералы и экранирование
Безопасно записывайте и экранируйте текст.
«Строковые литералы и экранирование» — бесплатный урок Zig Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.
Литералы в двойных кавычках
Строковый литерал записывается между двойными кавычками. Zig хранит его байты в памяти только для чтения и предоставляет срез []const u8, указывающий на них.
const msg = "Hello, Zig!";Escape-последовательности
Внутри литерала обратная косая черта начинает escape-последовательность. Она позволяет включать символы, которые иначе было бы трудно или невозможно ввести.
Перевод строки и табуляция
Классические последовательности по-прежнему работают: \n вставляет перевод строки, а \t — табуляцию. Внутри строки они превращаются в отдельные байты: 10 и 9.
const line = "name:\tZig\n";Экранирование кавычки
Чтобы поместить двойную кавычку в текст, экранируйте её с помощью \". Иначе Zig решит, что строка закончилась на этой кавычке.
const q = "She said \"hi\".";Экранирование обратной косой черты
Поскольку обратная косая черта имеет специальное значение, для записи одной такой черты используйте \\. Это особенно важно для путей Windows, содержащих много обратных косых черт.
const p = "C:\\dev\\zig";Экранирование байта в шестнадцатеричном виде
Используйте \xNN, чтобы вставить точный байт, указав его двузначное шестнадцатеричное значение. Это удобно для управляющих байтов или двоичных данных внутри литерала.
const tab = "\x09"; // same as \tЭкранирование Unicode
Запишите любую кодовую точку с помощью \u{...}, используя шестнадцатеричные цифры в фигурных скобках. Zig автоматически закодирует её правильными байтами UTF-8.
const heart = "\u{2764}";Многострочные строки
Для длинного текста начинайте каждую строку с \\. Такие многострочные литералы сохраняют переводы строк, а кавычки и обратные косые черты в них не нужно экранировать.
const sql =
\\SELECT *
\\FROM users
;Без завершающего перевода строки
Многострочный литерал не добавляет перевод строки после последней строки. Вы полностью контролируете, какие именно байты окажутся в строке.
Литералы вычисляются во время компиляции
Строковые литералы известны во время компиляции, поэтому Zig может свернуть и проверить их ещё до запуска программы. Их длина является константой.
Объединение с помощью ++
Объединяйте две строки, известные во время компиляции, оператором ++. Результат — новый литерал, также фиксированный и известный во время компиляции.
const full = "Hello, " ++ "Zig!";Быстрая проверка
Вам нужно записать обратную косую черту внутри обычной строки в двойных кавычках.
Итоги
Теперь Вы умеете создавать литералы с escape-последовательностями вроде \n, \", \xNN и \u{...}, использовать многострочные блоки \\ и объединять текст с помощью ++. ✨
Часто задаваемые вопросы
Урок «Строковые литералы и экранирование» бесплатный?
Да — полный текст урока «Строковые литералы и экранирование» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.
Чему я научусь в уроке «Строковые литералы и экранирование»?
Безопасно записывайте и экранируйте текст. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Zig Academy?
Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Строковые литералы и экранирование»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Zig Academy?
Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Строки — это []const u8
- Строковые литералы и экранирование
- Сравнение и поиск байтов
- Форматирование текста с помощью std.fmt