根据我的理解,go模板在运行时从给定的源解析,以获得类型template.Template的编译版本。然后,对某些数据执行编译版本以进行实际模板化。
但后来我想知道:是否可以在编译时解析模板?
答案 0 :(得分:5)
只需将它们设为全局变量like this即可。您仍然会在运行时解析模板,但是如果它无法正确解析它,二进制文件会在您运行它时立即失败。
package main
import (
"fmt"
"text/template"
)
var t = template.Must(template.New("name").Parse("text"))
func main() {
fmt.Println("Template", t)
}
答案 1 :(得分:2)
无法在编译时执行此操作,但您可以在main()
之前通过在the init function内解析它们来解析它们。