1 回答
TA贡献1993条经验 获得超5个赞
job2的标识并非来自您认为的地方:它来自打印步骤之间的空格和换行符:
{{ range $steps -}}
{{ . }} <-- starting from here, and the indentation of the next line
{{ end }}
所以输出换行符和of之后的缩进step2,job1然后你就从job2那里开始:已经缩进了。
如果仅在输出中需要的位置插入换行符和缩进,您会得到想要的:
{{ range $job, $steps := .jobs}}{{ $job }}:{{ range $steps }}
{{ . }}{{ end }}
{{ end }}
或者按照你想要的方式格式化你的模板,并在所有地方禁用缩进,并在你想要的地方显式输出换行符和缩进:
{{ range $job, $steps := .jobs -}}
{{- $job -}}:{{"\n"}}
{{- range $steps -}}
{{" "}}{{- . -}}{{"\n"}}
{{- end -}}
{{- end }}
或者第三种解决方案:
{{ range $job, $steps := .jobs -}}
{{ $job }}:
{{- range $steps }}
{{ . }}{{ end }}
{{ end }}
这些都是输出(在Go Playground上试试):
job1:
step1
step2
job2:
step1
step2
- 1 回答
- 0 关注
- 185 浏览
添加回答
举报