---
title: "부록: Go 자료형과 템플릿"
description: "템플릿에서의 변수에 관한 간단한 개괄"
weight: 16
---

헬름 템플릿 언어는 강한 타이핑(strongly typed)인 Go 프로그래밍 언어로 구현된다.
이러한 이유로, 템플릿에서의 변수는 _타이핑(typed)_된다.
대부분의 경우, 변수는 다음 자료형 중 하나로 노출된다.

- string: 텍스트 문자열
- bool: `true` 또는 `false`
- int: 정수 값 (8, 16, 32, 64 비트의 부호가 있거나(signed) 없는(unsinged) 다양한 자료형이 있다)
- float64: 64비트 부동 소수점 값 (8, 16, 32 비트의 다양한 자료형이 있다)
- byte slice(`[]byte`), 흔히 (잠재적으로) 바이너리 데이터를 담기 위해 사용된다.
- struct(구조체): 프로퍼티와 메소드를 가지는 객체
- 위의 자료형 중 하나에 대한 슬라이스(인덱스 있는 리스트)
- 위의 자료형 중 하나에 대한 문자열-키 맵(`map[string]interface{}`)

Go에는 다른 여러가지 자료형이 있는데, 템플릿에서는 때에 따라 자료형을 변환해야 할 수도 있다.
객체 자료형을 디버그하는 가장 쉬운 방법은 템플릿 내에서 자료형을 출력하는 `printf "%t"`에 전달하는 것이다. 
또한 `typeOf`과 `kindOf` 함수도 살펴보자.
