例如:如何在golang模板中使用continue和break关键字?
{{range .Users}}
{{if .IsAdmin}}
{{/* How to use "break" or "continue"? */}}
{{end}}
{{end}}
的“破发”或“继续”,在模板的文档不golang.org
例如:如何在golang模板中使用continue和break关键字?
{{range .Users}}
{{if .IsAdmin}}
{{/* How to use "break" or "continue"? */}}
{{end}}
{{end}}
的“破发”或“继续”,在模板的文档不golang.org
可他们没有记录在案,因为它们不存在。
要确保 - 检查为text/template
词法分析器测试:https://github.com/golang/go/blob/master/src/text/template/parse/lex_test.go
break
和continue
陈述的text/template
和html/template
在围棋1.10(测试版在写作时)的一部分。从release notes:
新的行动
{{break}}
和{{continue}}
打出来的最里面{{range ...}}
循环,如相应的围棋语句。
围棋(1.10)之前的以前的版本做不支持break
或continue
语句。在测试文档
寻找你可以看到在lexer新itemContinue
和itemBreak
项目,如ContinueNode
新节点Parser跟随代码。
但是我怎么能做到这一点呢?有没有其他的方法? – emurmotol
你不能模拟'break',只要你有'{{if'',你就不需要'continue'。 Golang模板不适合具有太复杂的逻辑。 – zerkms
您可以分享一个关于如何跳过或停止迭代的例子吗? – emurmotol