我正在尝试找出如何删除模板中由 {{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"`
}
有什么想法吗?
最佳答案
主要是在玩尾随破折号,试试
package main
import (
"os"
"text/template"
)
type myGreetings struct {
Greet []string
}
func main() {
const txt = `
{
{{- range $index, $word := .Greet}}
Hello {{$word -}}!!!
{{- end}}
}
`
greetText := myGreetings{
Greet: []string{"World", "Universe", "Gophers"},
}
t := template.Must(template.New("Text").Parse(string(txt)))
t.Execute(os.Stdout, greetText)
}
https://play.golang.org/p/eGm3d3IJPp
输出:
{
Hello World!!!
Hello Universe!!!
Hello Gophers!!!
}
关于templates - Golang 模板范围换行删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35565915/