我需要ExecuteTemplate
(text和html)。我有下一个片段:
import ("text/template")
...
test_path := "/cnaize/home/test.txt"
testTmpl := template.New(test_path)
var test bytes.Buffer
if err := testTmpl.ExecuteTemplate(&test, test_path, mm.Args); err != nil {
return err
}
但我在invalid memory address or nil pointer dereference
中有错误ExecuteTemplate
。当我将第一行更改为import ("html/template")
时,出现"/cnaize/home/test.txt" is an incomplete template
错误。
我的test.txt
:
Test
哪里可能有问题?
编辑:
我知道文档,但我在https://github.com/arkxu/gomail/blob/master/message.go找到了这个解决方案,这正是我需要的,因为我不知道如何在args
中设置template.ParseFiles()
。文件夹名称为template.New()
即可。我的mm.Args
是map[message:Hello there!]
,我已经检查过了。
答案 0 :(得分:3)
这里有两件事是错的:
template.New()
使用给定名称初始化一个空模板,你给出了一个路径,这是好的,但它可能不是你想要的。在使用库之前请先阅读documentation。
您可能正在寻找:template.ParseFiles()
什么是mm.Args
?仅从该片段和错误我猜mm
是零。