テンプレートでループオーバーして追加を行うgoファイルを生成しようとしている文字列のスライス(.Table.PKey.Columns)がありますが、テンプレートで$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 -}}
助言がありますか?ありがとうございました。