【发布时间】:2022-09-28 11:52:47
【问题描述】:
循环遍历 Json 并获取带有标签的 \"name\" 字段,然后将其添加到结构块中。 代码生成后所需的输出
var queryOutput [][]struct {
product_name string `db:\"product_name\" json:\"product_name\"`
category string `db:\"category\" json:\"category\"`
category2 string `db:\"category2\" json:\"category2\"`
}
for _, yaxis := range YAxisColumn {
columns := yaxis.(map[string]interface{})
columnName := columns[\"name\"].(string)
c:= jen.Id(utils.GetFormattedName(columnName)).Int().Tag(map[string]string{
\"json\": GetFormattedName(columnName),
\"db\": GetFormattedName(columnName),
}),
}
在其中添加 Yaxis 列字段的结构,即名称
return jen.Func().Id(serviceName).Params().Parens(
jen.List(jen.Interface(), jen.Error()),
).Block(
jen.Var().Id(\"queryOutput\").Op(\"[][]\").Struct(
jen.Id(utils.GetFormattedName(XAxisColumn)).String().Tag(map[string]string{
\"json\": utils.GetFormattedName(XAxisColumn),
\"db\": utils.GetFormattedName(XAxisColumn),
}),
),
JSON
\"yAxisColumn\" : [
{
\"name\": \"category\",
\"color\": \"\"
},
{
\"name\": \"category2\",
\"color\":\"\"
}
],
标签: go code-generation codegen