0Pricing
Helm Academy · Урок

Присваивание переменных шаблона

Сохраняйте значения для повторного использования в блоке

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

Зачем нужны переменные

Если одно и то же значение много раз встречается в шаблоне, сохраните его один раз в переменной, чтобы не повторять длинный путь повсюду.

Синтаксис присваивания

Переменную объявляют с именем, начинающимся со знака доллара, и оператором :=. В Helm в $name хранится выражение, указанное справа.

{{ $name := .Values.appName }}

Переменные начинаются со знака доллара

Каждая переменная шаблона записывается с ведущим знаком доллара. Так Helm отличает вашу переменную от поля контекста точки.

Чтение переменной

После присваивания вставляйте переменную в YAML, как любое значение. Helm подставляет сохранённый результат везде, где вы пишете $name.

metadata:
  name: {{ $name }}

Сохранение встроенного объекта

Переменные особенно полезны для длинных выражений. Один раз сохраните имя релиза, а затем используйте короткую переменную вместо повторного ввода полного пути.

{{ $rel := .Release.Name }}
name: {{ $rel }}-config

Сначала :=, затем =

Используйте оператор := только для первоначального объявления переменной. Чтобы позже изменить её значение в той же области видимости, выполните повторное присваивание с помощью обычного знака равенства.

{{ $count := 1 }}
{{ $count = 3 }}

Область видимости определяется блоком

Переменная существует внутри блока, в котором вы её объявили. Определите её перед if или range, и внутри этого блока она останется доступной.

Вне области видимости — вне доступа

Объявите переменную внутри блока if, и после завершения блока она исчезнет. За пределами этой области видимости Helm вообще не может её увидеть.

Понятные имена переменных

Выбирайте короткие описательные имена, такие как $fullName или $port. Понятное имя переменной значительно облегчает чтение шаблона для коллег.

Переменные и точка

Точка может измениться при входе в блоки, но переменная сохраняет захваченное значение. Именно поэтому переменные так полезны.

Присваивание из выражения

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

{{ $port := .Values.port | default 8080 }}

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

Ранее в шаблоне вы написали {{ $svc := .Values.service.name }}.

Итоги

Теперь вы умеете объявлять переменные с помощью :=, переназначать их с помощью =, обращаться к ним через знак доллара и учитывать область видимости блока. Впереди — аккуратные шаблоны! 🎯

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

Урок «Присваивание переменных шаблона» бесплатный?

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

Чему я научусь в уроке «Присваивание переменных шаблона»?

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

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

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

Сколько времени занимает урок «Присваивание переменных шаблона»?

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

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

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

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

  1. Присваивание переменных шаблона
  2. Сохранение корневой точки внутри range
  3. nindent и indent на практике
  4. Отладка пробелов в отрендеренном выводе
← Назад к Helm Academy