🌟

Goのtext/templateで改行を出力する

2021/06/18に公開

結論

printfを使えば改行を出力できます。

{{ printf "\n" }}

使用例

Goのtext/templateが使われている箇所であれば、どこにでも使えます。例として、githubのghコマンドでissueの一覧を表示する方法を示します。

gh issue list -t "{{ range . }}{{ .number }} {{ .title }}{{ printf \"\\n\" }}{{ end }}" --json number,title

上記を実行すると以下のように出力されます。

# ここでは例としてgolangのissue一覧を表示することにします
git clone https://github.com/golang/go
cd go

# issueを一覧表示
gh issue list -t "{{ range . }}{{ .number }} {{ .title }}{{ printf \"\\n\" }}{{ end }}" --json number,title
46817 cmd/go: `go list -e -export -json -gcflags=-bogus math` prints to stderr
46815 [1.17beta1] buildcfg: regabireflect breaks GOENV configuration loading
46811 image: add RGBA64Image interface [freeze exception]
46807 cmd/go: can't inspect go env when $GOPATH/go.mod exists
46806 cmd/go: suggest 'go get' for packages in the main module instead of missing external package paths
...

参考資料

  • go doc text/template

Discussion