Documentation ¶
Index ¶
- type FuncMap
- type Kind
- type Template
- func (t *Template) AddParseTree(kind Kind, tree *parse.Tree) (*Template, error)
- func (t *Template) Copy() (*Template, error)
- func (t *Template) Delims(left, right string) *Template
- func (t *Template) Dir() string
- func (t *Template) Execute(wr io.Writer, data interface{}) error
- func (t *Template) ExecuteTemplate(wr io.Writer, name string, data interface{}) error
- func (t *Template) Funcs(funcMap FuncMap) *Template
- func (t *Template) Lookup(name string) *Template
- func (t *Template) Name() string
- func (t *Template) Parse(name, text string) (*Template, error)
- func (t *Template) ParseFiles(filename ...string) error
- func (t *Template) ParseGlob(pattern string) error
- func (t *Template) RootDir() string
- func (t *Template) Walk(dir string, exts string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Template ¶
type Template struct {
// contains filtered or unexported fields
}
* Template.
func New ¶
* New 基于资源路径 uri 新建一个 Template. 先对 uri 进行绝对路径计算, 计算出 rootdir 和是否要加载文件.
参数:
uri 资源路径可以是目录或者文件, 无扩展名当作目录, 否则当作文件. 如果 uri 为空, 用 os.Getwd() 获取目录. 如果 uri 以 `./` 或 `.\` 开头自动加当前路径, 否则当作绝对路径. 如果 uri 含扩展当作模板文件, 使用 ParseFiles 解析. uri 所指的目录被设置为 rootdir, 后续载入的文件被限制在此目录下. funcMap 可选自定义 FuncMap. 当 uri 为文件时, funcMap 参数可保障正确解析模板中的函数.
返回:
模板实例和发生的错误.
func (*Template) AddParseTree ¶
* AddParseTree 添加 tree. 参数:
kind 值为TEXT 或 HTML, 指示 tree 采用何种风格执行. tree 是已经处理好的, 且 tree.Name 对应绝对路径的模板名称.
返回:
如果 tree 符合要求, 返回 tree 对应的 *Template. 否则返回 nil 和错误.
细节:
事实上 ParseFiles, ParseGlob 都调用了 AddParseTree. 如果 t 没有对应的执行模板, 自动绑定第一个 Tree 对应的模板.
func (*Template) Copy ¶
* Copy 返回一份 *Template 的拷贝. 这是真正的拷贝. 非并发安全, 如果需要 Copy 功能, 应保留一份母本专用于 Copy. 提示:
Copy 会重建 FuncMap 中的 "import" 函数.
func (*Template) ExecuteTemplate ¶
* ExecuteTemplate 执行 name 对应的模板, 把结果写入 wr. 此方法先调用 Lookup 获取 name 对应的模板, 然后执行它.
func (*Template) Lookup ¶
* Lookup 取出 name 对应的 *Template. 参数:
name 模板名, 相对路径. 如果以 "/" 开头表示从 rootdir 开始, 否则从 t.Dir() 所在目录开始.
返回:
返回 name 对应模板, 如果 name 为空或者未找到对应模板, 返回 nil.
func (*Template) Parse ¶
* Parse 解析模板源代码 text, 并以 name 命名解析后的模板. 参数:
name 模板名字, 相对于 rootdir 的绝对路径名. text 待解析的模板源代码.
返回:
解析后的模板和发生的错误.
func (*Template) ParseFiles ¶
* ParseFiles 解析多个模板文件. 自动跳过重复的文件. 参数:
filename 模板文件, 可使用相对路径或绝对路径.
返回:
是否有错误发生.
Click to show internal directories.
Click to hide internal directories.