假设您有以下代码
router.Get("foo").URL("id", id)
如果我想在go模板中做类似的事情。我相信我必须走很长的路并创建一个中间变量。
{{ $urlGenerator := .Router.Get "foo" }}
{{ $urlGenerator.URL "id" .Id }}
最好看起来像这样
{{ (.Router.Get "foo") .Url }}
或者只是
{{ .Router.Get("foo").Url }}
有没有人找到一种有点像这样的方法?我在文档中找不到任何关于此的内容,除了管道之外,它们起着......管道的作用。
答案 0 :(得分:4)
它位于text/template
包doc的Arguments
段的最后:
- 上述一个带括号的实例,用于分组。可以通过字段或映射键调用来访问结果:
print (.F1 arg1) (.F2 arg2)
(.StructValuedMethod "arg").Field