Can';t访问Go模板范围内的模板值或结构值

Can';t访问Go模板范围内的模板值或结构值,go,go-templates,Go,Go Templates,我在执行模板时传递结构。在遍历作为同一结构一部分的切片变量时,我无法访问结构内部的字符串变量 在访问变量时,我尝试使用$as作为前缀。 我还尝试在模板本身中创建一个变量,并在范围内调用它。我看不出这个新变量在范围外是可访问的,但在范围内是不可访问的 package main type landing_page Struct { Login_user string Versions_tagged []oradatabase.Tag_versions } package orada

我在执行模板时传递结构。在遍历作为同一结构一部分的切片变量时,我无法访问结构内部的字符串变量

在访问变量时,我尝试使用$as作为前缀。 我还尝试在模板本身中创建一个变量,并在范围内调用它。我看不出这个新变量在范围外是可访问的,但在范围内是不可访问的

package main
type landing_page Struct {
    Login_user string
    Versions_tagged []oradatabase.Tag_versions
}

package oradatabase
// partial code
type Tag_version struct {
     User_id string,
     Rel_name string
}
所有这些结构都已初始化并正确分配了值,因为我可以访问模板范围之外的值,而不会出现任何问题

模板:landing_page.html
试验-1
---------
h1
氢
h3
{{range.Versions}
{{.User_id}}
{{.Rel_Name}
{{$.Login\u user}
{{end}
试验-2
---------
{{$login\u user:=.login\u user}
h1
氢
h3
{{range.Versions}
{{.User_id}}
{{.Rel_Name}
{{$login\u user}}
{{end}
在这两种情况下,范围内的登录用户为空(无值),而在范围外可以访问。不知道怎么了。 Go版本:1.11.4


变量Login_user的值应在模板中的范围内可用。控制台上没有错误。它不会为登录用户在范围内打印任何内容,循环也会在该阶段终止。

您的两次尝试都应该有效。错误很可能发生在其他地方。如果您需要帮助,请发布。我已经添加了结构的定义。那有帮助吗?因为我使用的是另一个包(oradatabase)中的struct。这可能是个问题吗?显示执行模板的Go代码。两次尝试都应该有效。错误很可能发生在其他地方。如果您需要帮助,请发布。我已经添加了结构的定义。那有帮助吗?因为我使用的是另一个包(oradatabase)中的struct。这可能是个问题吗?显示执行模板的Go代码。