Додаток: Типи даних Go та шаблони

Мова шаблонів Helm реалізована мовою програмування Go, яка має сувору типізацію. З цієї причини змінні в шаблонах мають типи. Здебільшого змінні будуть представлені одним із наступних типів:

  • string: Рядок тексту
  • bool: значення true або false
  • int: Ціле число (існують також 8, 16, 32 і 64-бітні знакові та беззнакові варіанти)
  • float64: 64-бітне число з плаваючою комою (також є 8, 16 та 32-бітні різновиди)
  • byte slice ([]byte): Масив байтів, часто використовується для зберігання (можливо) бінарних даних
  • struct: Обʼєкт із властивостями та методами
  • slice: Список з індексами одного з попередніх типів
  • map: Map з ключами-рядками (map[string]interface{}), де значенням є один із попередніх типів

Існує багато інших типів у Go, і іноді вам доведеться конвертувати між ними в шаблонах. Найпростіший спосіб налагодження типу обʼєкта — передати його через printf "%T" у шаблоні, що виведе тип. Також корисно ознайомитись із функціями typeOf та kindOf.