- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
鉴于此 Go 文本/模板代码:
Let's say:
{{ if eq .Foo "foo" }}
Hello, StackOverflow!
{{ else if eq .Foo "bar" }}
Hello, World!
{{ end }}
如果 Foo
等于 "foo"
,我们会得到以下输出:
Let's say:
Hello, StackOverflow!
(后跟一个换行符)
有没有办法去掉多余的换行符?
我希望这可以使用 {{-
和 -}}
语法来完成:
Let's say:
{{- if eq .Foo "foo" }}
Hello, StackOverflow!
{{- else if eq .Foo "bar" }}
Hello, World!
{{- end }}
但是,这会产生一个illegal number syntax: "-"
错误。
最佳答案
在您的第一个模板中,您在静态文本 "Let's say:"
之后有一个换行符,第二行仅包含 {{if}}
操作,它还包含一个换行符,其正文 "Hello, StackOverflow!"
从第 3 行开始。如果呈现此内容,则 2 个静态文本之间将有 2 个换行符,因此您将看到一个空行(如您发布的那样)。
您可以使用 {{- if...
去除第一个换行符,因此在渲染时,只有一个换行符到达输出,导致 2 个不同的行但它们之间没有换行符:
Let's say:
{{- if eq .Foo "foo" }}
Hello, StackOverflow!
{{- else if eq .Foo "bar" }}
Hello, World!
{{- end }}
当 Foo
为 "foo"
时输出:
Let's say:
Hello, StackOverflow!
Foo
为"bar"
时的输出:
Let's say:
Hello, World!
在 Go Playground 上试试.
请注意,这是在 Go 1.6: Template 中添加的, 并记录在 text/template
: Text and Spaces .
如果您在操作-}}
结束时使用-
符号,您甚至可以删除所有换行符:
Let's say:
{{- if eq .Foo "foo" -}}
Hello, StackOverflow!
{{- else if eq .Foo "bar" -}}
Hello, World!
{{- end -}}
Foo
为"foo"
且Foo
为"bar"
时的输出:
Let's say:Hello, StackOverflow!
Let's say:Hello, World!
在 Go Playground 上试试这个.
关于go - 如何避免由条件引起的换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39948383/
在 Vaadin 7.0,显示时JavaBean Table 中的数据与 BeanContainer ,用新数据刷新表的正确方法是什么? 最佳答案 该表通过监听器监视表项的属性。如果您通过表的 Ite
首先,我使用的是带有 Axis2 1.6.2 的 eclipse,我正在 tomcat 6 上部署我创建的 Web 服务。Web 服务是在 eclipse 中通过自上而下的方法创建的。 我被要求使对我
我已将 Rails 3.1.1 应用程序升级到 Rails 3.1.3,现在,对于每个请求,它仅响应错误数量的参数(3 for 1)。不幸的是,它没有说明错误在哪里,并且应用程序跟踪为空。我认为存在一
我是一名优秀的程序员,十分优秀!