该template.Template类型有一个Template.Tree导出字段,其中包含(模型)已解析的模板。请注意,即使此字段已导出,也不会导出以供您使用,而是从文档中引用:*parse.Tree 字段仅被导出以供 html/template 使用,并且应被所有其他客户端视为未导出。撇开这一点不谈,有了解析树,就可以重建构建它的源代码。parse.Tree有一个Root具有方法的字段,该String()方法从树中构建源文本。例如:src := `Hi {{.Name}}. You are {{.Age}} years old.`t := template.Must(template.New("").Parse(src))fmt.Println(t.Tree.Root.String())这将输出(在Go Playground上尝试):Hi {{.Name}}. You are {{.Age}} years old.如前所述:Template.Tree不是公共 API 的一部分。您可以使用它,但不能保证它会保持导出状态,并且在未来的版本中也能正常工作。您应该做的是保留您解析的源,而不是依赖Template.Tree.