4

私の理解では、go テンプレートは実行時に特定のソースから解析され、型 template.Template のコンパイル済みバージョンを取得します。次に、コンパイルされたバージョンが一部のデータに対して実行され、実際のテンプレート化が行われます。

しかし、私は疑問に思っています: コンパイル時にテンプレートを解析することは可能ですか?

4

2 に答える 2

6

このようにグローバル変数にするだけです。実行時にテンプレートを解析することはできますが、すぐに実行されるため、適切に解析できない場合、バイナリは実行するとすぐに失敗します。

package main

import (
    "fmt"
    "text/template"
)

var t = template.Must(template.New("name").Parse("text"))

func main() {
    fmt.Println("Template", t)
}
于 2013-02-11T17:28:05.743 に答える
2

コンパイル時に行うことはできませんが、 init functionmain()内で解析することにより、実行時に解析できます。

于 2013-02-11T15:28:40.123 に答える