템플릿 출력을 변수에 재할당
Go에서 템플릿은 사용자 정의 출력을 생성하는 편리한 방법을 제공합니다. 기본적으로 출력은 t.Execute(os.Stdout, xxx)를 사용하여 표준 출력(STDOUT)으로 인쇄됩니다. 그러나 출력을 변수에 할당하는 것을 선호하는 경우가 있을 수 있습니다.
이를 수행하려면 t.Execute가 io.Writer 인터페이스를 구현하는 입력을 기대한다는 점을 기억하는 것이 중요합니다. 적합한 옵션 중 하나는 bytes.Buffer 또는 strings.Builder와 같은 버퍼를 활용하는 것입니다.
bytes.Buffer 사용:
var tpl bytes.Buffer if err := t.Execute(&tpl, data); err != nil { return err } result := tpl.String()
이 코드는 bytes.Buffer를 생성하고 해당 주소를 t.Execute에 전달합니다. 템플릿 실행이 성공하면 출력이 버퍼에 저장되고 tpl.String()을 사용하여 문자열로 검색할 수 있습니다.
strings.Builder 사용:
builder := &strings.Builder{} if err := t.Execute(builder, data); err != nil { return err } result := builder.String()
strings.Builder는 보다 전문적인 대안을 제공합니다. 이전 접근 방식과 유사하게 빌더는 io.Writer로 t.Execute에 전달되고 출력은 빌더에서 수집됩니다. 그런 다음 builder.String() 메소드를 사용하여 출력을 문자열로 검색할 수 있습니다.
위 내용은 STDOUT으로 인쇄하는 대신 Go 템플릿 출력을 변수로 캡처하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!