Go에서는 데이터 유형에 대한 사용자 정의 메소드를 정의할 수 있습니다. Go의 HTML 템플릿에서 이러한 메서드를 어떻게 호출합니까?
다음 예를 고려하세요.
type Person struct { Name string } func (p *Person) Label() string { return "This is " + p.Name }
템플릿에서 Label 메서드를 호출하려면 다음 구문을 사용하세요.
{{ .Label }}
메소드를 호출할 때 괄호를 생략한다는 점에 유의하세요.
다음은 완전한 Go 프로그램입니다. 템플릿에서 메서드 호출의 사용법을 보여줍니다.
package main import ( "html/template" "log" "os" ) type Person string func (p Person) Label() string { return "This is " + string(p) } func main() { tmpl, err := template.New("").Parse(`{{.Label}}`) if err != nil { log.Fatalf("Parse: %v", err) } tmpl.Execute(os.Stdout, Person("Bob")) }
이 프로그램을 실행하면 다음이 출력됩니다.
This is Bob
Go 템플릿 문서에 따르면 다음과 같은 모든 메서드를 호출할 수 있습니다. 두 번째 값이 오류 유형인 경우 하나의 값(모든 유형)을 반환하거나 두 개의 값을 반환합니다. 두 번째 반환 값이 오류인 경우 Execute 함수는 해당 오류를 nil이 아닌 것으로 반환하고 템플릿 실행을 중단합니다.
위 내용은 Go HTML 템플릿에서 사용자 정의 메서드를 어떻게 호출합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!