github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/text/template/exec.go (about) 1 // Copyright 2011 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package template 6 7 import ( 8 "github.com/shogo82148/std/io" 9 ) 10 11 // ExecErrorは、Executeがテンプレートを評価する際にエラーが発生したときに返される 12 // カスタムエラータイプです。(書き込みエラーが発生した場合、実際のエラーが返されます。 13 // それはExecErrorタイプではありません。) 14 type ExecError struct { 15 Name string 16 Err error 17 } 18 19 func (e ExecError) Error() string 20 21 func (e ExecError) Unwrap() error 22 23 // ExecuteTemplateは、指定された名前を持つtに関連付けられたテンプレートを 24 // 指定されたデータオブジェクトに適用し、出力をwrに書き込みます。 25 // テンプレートの実行中またはその出力の書き込み中にエラーが発生した場合、 26 // 実行は停止しますが、部分的な結果がすでに出力ライターに書き込まれている可能性があります。 27 // テンプレートは並行して安全に実行することができますが、並行実行がライターを共有する場合、 28 // 出力が交互になる可能性があります。 29 func (t *Template) ExecuteTemplate(wr io.Writer, name string, data any) error 30 31 // Executeは、解析されたテンプレートを指定されたデータオブジェクトに適用し、 32 // 出力をwrに書き込みます。 33 // テンプレートの実行中またはその出力の書き込み中にエラーが発生した場合、 34 // 実行は停止しますが、部分的な結果がすでに出力ライターに書き込まれている可能性があります。 35 // テンプレートは並行して安全に実行することができますが、並行実行がライターを共有する場合、 36 // 出力が交互になる可能性があります。 37 // 38 // dataが [reflect.Value] の場合、テンプレートはreflect.Valueが保持する具体的な 39 // 値に適用されます。これは [fmt.Print] と同様です。 40 func (t *Template) Execute(wr io.Writer, data any) error 41 42 // DefinedTemplatesは、定義されたテンプレートのリストを文字列として返します。 43 // これは文字列 "; defined templates are: " で始まります。もし定義されたテンプレートがなければ、 44 // 空の文字列を返します。ここと [html/template] でエラーメッセージを生成するために使用されます。 45 func (t *Template) DefinedTemplates() string 46 47 // IsTrueは、値がその型のゼロでない「真」であるか、 48 // および値が意味のある真理値を持っているかどうかを報告します。 49 // これはifやその他のそのようなアクションで使用される真理の定義です。 50 func IsTrue(val any) (truth, ok bool)