我有一段字符串(.Table.PKey.Columns),我试图在我的模板中循环以生成一个执行一些附加的 go 文件,但是当我在模板中输出 $value 时,显然 Go 是为我引用它,所以它给了我错误:
5:27: expected selector or type assertion, found 'STRING' "ID"
即,不是模板输出看起来像o.ID
- 这是我的目标,它最终看起来像o."ID"
(我想)。
我的假设是否正确,这是使用范围循环的结果?因为似乎当我直接在其他地方访问变量时(例如,假设我有一个字符串并且我做了:)o.{{.Table.MyString}}
它工作正常,但是一旦我尝试将范围循环合并到混合中,它似乎是在引用东西。
{{- range $key, $value := .Table.PKey.Columns }}
args = append(args, o.{{$value}})
{{ end -}}
有什么建议么?谢谢你。