From e0b110b926c47227aa0669b630f5292152945bba Mon Sep 17 00:00:00 2001 From: linmaolin Date: Thu, 6 Mar 2025 00:41:02 +0000 Subject: [PATCH] text/template: add an if func example Updates #13880 Change-Id: I0fd3b1a32e485bc8f15238c86a8bbdc161f20fa5 GitHub-Last-Rev: d1e92b31243c86435add422ee46aaff768453cad GitHub-Pull-Request: golang/go#71922 Reviewed-on: https://go-review.googlesource.com/c/go/+/651916 Auto-Submit: Ian Lance Taylor Reviewed-by: Ian Lance Taylor Reviewed-by: Junyang Shao LUCI-TryBot-Result: Go LUCI --- src/text/template/examplefunc_test.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/text/template/examplefunc_test.go b/src/text/template/examplefunc_test.go index a114a46601..a1879e7c3f 100644 --- a/src/text/template/examplefunc_test.go +++ b/src/text/template/examplefunc_test.go @@ -96,3 +96,28 @@ func ExampleTemplate_funcs() { // def // def } + +// This example demonstrates how to use "if". +func ExampleTemplate_if() { + type book struct { + Stars float32 + Name string + } + + tpl, err := template.New("book").Parse(`{{ if (gt .Stars 4.0) }}"{{.Name }}" is a great book.{{ else }}"{{.Name}}" is not a great book.{{ end }}`) + if err != nil { + log.Fatalf("failed to parse template: %s", err) + } + + b := &book{ + Stars: 4.9, + Name: "Good Night, Gopher", + } + err = tpl.Execute(os.Stdout, b) + if err != nil { + log.Fatalf("failed to execute template: %s", err) + } + + // Output: + // "Good Night, Gopher" is a great book. +} -- 2.51.0