[go] 템플릿 공백처리

Golang의 템플릿을 사용할 때, 텍스트 출력에서 공백을 처리하는 것은 중요합니다. 템플릿에서 공백을 적절히 처리함으로써 출력되는 텍스트의 가독성을 높일 수 있습니다.

1. Trimming

Golang의 text/template 라이브러리는 자동으로 템플릿 값을 자르는 기능을 제공합니다. 이를 이용하여 출력되는 텍스트의 양쪽에 있는 공백을 제거할 수 있습니다.

아래의 예제는 text/template 라이브러리를 사용하여 양쪽 공백을 제거하는 방법을 보여줍니다:


package main

import (
	"os"
	"text/template"
)

func main() {
	tmpl := "  Hello, {{.}}  "
	t := template.New("example")
	t, err := t.Parse(tmpl)
	if err != nil {
		panic(err)
	}
	data := "World"
	err = t.Execute(os.Stdout, data)
	if err != nil {
		panic(err)
	}
}

위 예제를 실행시키면 다음과 같은 결과가 나옵니다:

Hello, World

2. 스페이스 유지

때로는 템플릿에서 원하는 형식의 출력을 얻기 위해 공백을 유지해야 할 수도 있습니다. Golang의 템플릿에서는 {{--}} 사이에 스페이스를 추가하여 출력되는 텍스트의 공백을 유지할 수 있습니다.

아래의 예제는 {{--}} 를 이용하여 왼쪽과 오른쪽의 스페이스를 유지하도록 하는 방법을 보여줍니다:


package main

import (
	"os"
	"text/template"
)

func main() {
	tmpl := "  Hello, {{- . -}}  "
	t := template.New("example")
	t, err := t.Parse(tmpl)
	if err != nil {
		panic(err)
	}
	data := "World"
	err = t.Execute(os.Stdout, data)
	if err != nil {
		panic(err)
	}
}

이 예제를 실행하면 다음과 같은 결과를 얻을 수 있습니다:

  Hello,World

결론

Golang의 템플릿에서 공백을 적절히 처리하는 것은 출력되는 텍스트의 가독성을 높이는 데 중요합니다. 양쪽 공백을 자르거나 특정 부분의 스페이스를 유지하는 등의 방법을 통해 원하는 형식의 출력을 얻을 수 있습니다.

참조: