如何在Golang中同时使用“ html / template”和“ text / template”

时间:2018-09-05 21:46:24

标签: templates go go-templates

我正在使用Go发送电子邮件,并且从存储在数据库中的模板解析主题和HTML正文。

对于主题,我不想t.Parse()逃脱html实体,因为它不是HTML,而只是纯文本,但是对于正文,这正是我想要的行为。

如何在同一个文件中同时使用这两个文件?

1 个答案:

答案 0 :(得分:4)

我认为您面临的问题是同名template软件包之间的导入冲突。

在这种情况下,对一个或两个软件包使用命名导入,以通过源文件中的另一个名称访问其成员:

package mypackage

import (
    htmlTemplate "html/template"
    textTemplate "text/template"
)

现在编写代码,照常引用模板包,但是使用别名htmlTemplatetextTemplate代替`template。