小编Jac*_*unt的帖子

如何从解析的模板中获取模板“动作”的地图或列表?

所以我想以某种方式将我{{ .blahblah }}在模板中定义的所有操作作为字符串切片。

例如,如果我有这个模板:

<h1>{{ .name }} {{ .age }}</h1>
Run Code Online (Sandbox Code Playgroud)

我希望能够得到[]string{"name", "age"}。假设模板具有方法func (t *Template) Fields() []string

t := template.New("cooltemplate").Parse(`<h1>{{ .name }} {{ .age }}</h1>`)
if t.Fields() == []string{"name", "age"} {
    fmt.Println("Yay, now I know what fields I can pass in!")
    // Now lets pass in the name field that we just discovered.
    _ = t.Execute(os.Stdout, map[string]string{"name": "Jack", "age":"120"})
}
Run Code Online (Sandbox Code Playgroud)

有没有办法检查这样的解析模板?
谢谢!

templates go go-templates

3
推荐指数
1
解决办法
2162
查看次数

在 Go 中检测 Windows 版本

有没有办法检测主机操作系统是 XP、Vista、7、8 还是 10? runtime.GOOS只返回“windows”。

这样做的原因是因为我试图操作启动文件夹中的文件。

在 Windows Vista、7、8、10 上,它位于:

%appdata%\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

在 Windows XP 上,它位于:

Documents and Settings\%username%\Start Menu\Programs\Startup

windows command-line-interface go

1
推荐指数
1
解决办法
3335
查看次数