我需要ExecuteTemplate
(text和html)。我有下一個片段:Golang無法執行模板
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!]
,我查過了。
Wh不是我所需要的,我編輯了我的帖子 – cnaize
這不是你所需要的。這就是爲什麼你收到不完整的模板錯誤。當你使用template.New(「whatever」)時,你的模板是空的。請閱讀文檔。似乎你仍然對模板包的工作方式感到困惑。你在執行模板時傳遞參數,它與'template.ParseFiles()'無關。 – seong