相关疑难解决方法(0)

是否可以在设计用于go generate的模板上使用gofmt?

我正在使用go:generate来处理自动生成一些数据库模型的过程,希望通过来运行我的go模板gofmt,但是它会使所有额外的{{ ... }}动态部分窒息。

我是否缺少明显的东西?我希望这是一个用例的gofmt人已经解决,给双方gofmtgo generate是去工具链的突出部分。

显然,它可以在go fmt之后运行,go generate但是格式化不佳的模板(占99%的代码)会让人感到肮脏。

go

2
推荐指数
1
解决办法
1067
查看次数

使用 {{if}} 过滤范围时如何抑制 Go 文本/模板输出中的换行符

这个问题与Golang 模板范围换行符删除有关,但那里的答案没有解决。

给定

type Data struct {
    Item    string
    IsFruit bool
}

var data = []Data{
    {"banana", true},
    {"apple", true},
    {"onion", false},
    {"peach", true}}

var Template = `
FRUITS ONLY
-----------------
{{range .}}{{if .IsFruit}}{{.Item}}{{else}}{{end}}
{{end -}}
-----------------
`
Run Code Online (Sandbox Code Playgroud)

Template执行with的输出在和data之间包含不需要的换行符。applepeach

FRUITS ONLY
-----------------
banana
apple

peach
-----------------
Run Code Online (Sandbox Code Playgroud)

我尝试了{{-和的许多变体,但-}}没有设法抑制换行符。消除{{else}}也行不通。

请注意,对于我的实际应用程序来说,预过滤数据不是一个选项。

完整代码示例位于 https://goplay.space/#N_GyaWwjH0Y

go-templates

2
推荐指数
1
解决办法
1694
查看次数

标签 统计

go ×1

go-templates ×1