沒有看到您的代碼,我能做的最好的是提供an example that shows your required functionality。
如果我不得不猜測,我會說你傳遞的數據是一個字符串,而不是一個字符串指針。一個字符串的值不能是nil/null,只能是一個字符串指針。雖然這會產生一個「」,而不是「零」(as demonstrated here),所以我只能想象這是你在代碼中做的奇怪事情。
爲了防止鏈接腐爛,我重複了下面的代碼示例,但值得點擊鏈接來查看它們的輸出。
所需的功能:
package main
import (
"log"
"os"
"html/template"
)
type TemplateData struct {
Email *string
}
func main() {
const temp = "<script>var email = {{.Email}};</script>\n"
t := template.Must(template.New("email_template").Parse(temp))
email := "[email protected]"
err := t.Execute(os.Stdout, TemplateData{
Email: &email,
})
if err != nil {
log.Println("executing template:", err)
}
err = t.Execute(os.Stdout, TemplateData{
Email: nil,
})
if err != nil {
log.Println("executing template:", err)
}
}
試圖用一個 「空」 的字符串:
package main
import (
"log"
"os"
"html/template"
)
type TemplateData struct {
Email string
}
func main() {
const temp = "<script>var email = {{.Email}};</script>\n"
t := template.Must(template.New("email_template").Parse(temp))
email := "[email protected]"
err := t.Execute(os.Stdout, TemplateData{
Email: email,
})
if err != nil {
log.Println("executing template:", err)
}
err = t.Execute(os.Stdout, TemplateData{
})
if err != nil {
log.Println("executing template:", err)
}
}
我懷疑問題出在你的Go代碼,你不提供這樣很難說。你是否在Go中引用了引號的價值? –
下面是示例:http://play.golang.org/p/8k4s8dv2PE 它不起作用(您可以在線運行它)。 – demi
首先,請在分享之前按格式化按鈕。它位於分享按鈕旁邊,使其更具可讀性。其次,它是HTML /模板中記錄的行爲。這是一個清理的例子,顯示了兩個:http://play.golang.org/p/AcySM8UADL – Dustin