diff options
Diffstat (limited to 'optional/example_template_test.go')
-rw-r--r-- | optional/example_template_test.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/optional/example_template_test.go b/optional/example_template_test.go new file mode 100644 index 0000000..83b5821 --- /dev/null +++ b/optional/example_template_test.go @@ -0,0 +1,34 @@ +package optional_test + +import ( + "html/template" + "log" + "os" + + "xengineering.eu/optional-go/optional" +) + +func Example_template() { + data := struct { + Flag optional.Optional[bool] + }{ + Flag: optional.Optional[bool]{ + Value: false, + Exists: false, + }, + } + + tmpl := `Flag is: {{if .Flag.Exists}}{{.Flag.Value}}{{else}}[none]{{end}}` + + t, err := template.New("optional").Parse(tmpl) + if err != nil { + log.Fatal(err) + } + + err = t.Execute(os.Stdout, data) + if err != nil { + log.Fatal(err) + } + + // Output: Flag is: [none] +} |