부록: Go 자료형과 템플릿
헬름 템플릿 언어는 강한 타이핑(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
함수도 살펴보자.