【发布时间】:2017-06-30 03:06:13
【问题描述】:
我试图弄清楚如何删除模板中由 {{range}} 和 {{end}} 放置的新行。我得到以下没有任何“-”标签的输出:
type {{makeGoTableName .TableName}} struct {
{{range $key, $value := .TableData}}
{{makeGoColName $value.ColName}} {{$value.ColType}} `db:"{{makeDBColName $value.ColName}}",json:"{{$value.ColName}}"`
{{end}}
}
结果:
type Dogs struct {
ID int64 `db:"id",json:"id"`
DogNumber int64 `db:"dog_number",json:"dog_number"`
}
如果我像这样添加 - 标签,我可以让它接近理想,但它会破坏最后一个右括号的缩进:
type {{makeGoTableName .TableName}} struct {
{{range $key, $value := .TableData -}}
{{makeGoColName $value.ColName}} {{$value.ColType}} `db:"{{makeDBColName $value.ColName}}",json:"{{$value.ColName}}"`
{{end -}}
}
结果:
type Dogs struct {
ID int64 `db:"id",json:"id"`
DogNumber int64 `db:"dog_number",json:"dog_number"`
}
有什么想法吗?
【问题讨论】:
-
我建议 formatting the output from the template 而不是调整模板以创建规范格式的 Go 代码。格式化模板输出将获得正确的空白,对齐字段标签等。有关更多信息,请参阅this answer。