Golang模板中的呼叫链接

Kri*_*ard 3 templates go

假设您有以下代码

router.Get("foo").URL("id", id)
Run Code Online (Sandbox Code Playgroud)

如果我想在go模板中做类似的事情。我相信我必须走很长一段路,创建一个中间变量。

{{ $urlGenerator := .Router.Get "foo" }}
{{ $urlGenerator.URL "id" .Id }}
Run Code Online (Sandbox Code Playgroud)

最好看起来像这样

{{ (.Router.Get "foo") .Url }}
Run Code Online (Sandbox Code Playgroud)

或者简单地

{{ .Router.Get("foo").Url }}
Run Code Online (Sandbox Code Playgroud)

有没有人找到一种像这样的工作方式?除了管道以外,我在文档中找不到与此有关的任何东西,管道可以用作...管道。

Elw*_*nar 5

它位于包doc Arguments段落的最后text/template

  • 以上内容的带括号的实例,用于分组。可以通过字段或映射键调用来访问结果:
    • print (.F1 arg1) (.F2 arg2)
    • (.StructValuedMethod "arg").Field