Golang 模板无法正常工作

Golang templating does not work properly

我的模板中有一个 if else 块。当 else if 为真时,它始终呈现为空,就好像 elseelse if 不存在一样

这是我的模板

在这种情况下,它什么也不渲染

而且我正在使用 text/template,因为 html/template 发送的页面完全是空的

//the template
    <script>
                  {{if.PassChange}}
                  swal("{{.Lang.Success}}", "{{.Lang.PleaseLogin}}", "success")
                  {{end}}
                  {{if.UserExists}}
                  swal("{{.Lang.Fail}}", "{{.Lang.AlreadyMember}}", "error")
                  {{end}}
    </script>




//rendering part
    BasePath.Get("/", func(w http.ResponseWriter, r *http.Request) {
        tpl.ExecResponse(w, struct{Lang map[string]string ; UserExists bool}{Lang:lang.GetLang(r),UserExists:true})
    })

如果打印执行模板的错误,您会发现模板无法计算字段PassChange。一种可能的修复方法是将 PassChange 字段添加到结构中。

tpl.ExecResponse(w, struct{PassChange bool; Lang map[string]string ; UserExists bool}{Lang:lang.GetLang(r),UserExists:true})