我正在尝试在我的 Go 模板中构建一个链接。我希望将我的对象 ID 与单词连接起来以形成动态 url。
当我在页面上打印 {{.ID}}
时,我可以看到打印的正确 ID,我正在尝试像这样使用 Printf 构建 URL。
{{- $id := printf "/%s/%s" "wallet/" .ID -}}
<a href={{$id}}><h1>Wallet ID {{.ID}}</h1></a>
在我的浏览器中显示为
http://localhost:8000/wallet//%25!s%28int=1006608996216725456%29
而不是下面应该看起来的样子。 ID为int类型。
最佳答案
(转义的)%!s...
表示传递给 printf
的参数不是字符串。它甚至会告诉您数据类型。
例如,如果我运行以下命令:
fmt.Printf("%s", int64(1006608996216725456))
我得到:
%!s(int64=1006608996216725456)
您应该在 printf
中使用 %d
或传递字符串 ID
。
关于go - 在 Go 模板中连接预定义的字符串和变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48033366/