为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Golang 中对 URL 进行插值

如何在 Golang 中对 URL 进行插值

Go
至尊宝的传说 2022-01-04 18:53:48
我有以下 URL,我想更改start每次迭代的值。有没有更好的方法来做到这一点?    test := "https://www.googleapis.com/customsearch/v1?start=%d&cx=001106611627702700888%3Aaonktv-oz_w&q=bells%20palsy%20mouth&exactTerms=palsy&fileType=png&imgColorType=color&imgType=face&searchType=image&key=AIzaSyAYqQ4IxUHnF7rfvzSvnczxQ-u93AbkC8k"for v := 1; v < 100; v += 10 {    val := fmt.Sprintf(test, v)    fmt.Println(val)}现在输出: https://www.googleapis.com/customsearch/v1?start=1&cx=001106611627702700888%!A(MISSING)aonktv-oz_w&q=bells%!p(MISSING)alsy%!m(MISSING)outh&exactTerms=palsy&fileType=png&imgColorType=color&imgType=face&searchType=image&key=AIzaSyAYqQ4IxUHnF7rfvzSvnczxQ-u93AbkC8k预期输出应该是: https://www.googleapis.com/customsearch/v1?startindex=1&q=bells%20palsy%20mouthhttps://www.googleapis.com/customsearch/v1?startindex=11&q=bells%20palsy%20mouth....等等。为什么Sprintf给我(MISSING)和几个随机字符?
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

%不属于格式动词的字符应转义为%%

test := "https://www.googleapis.com/customsearch/v1?start=%d&cx=001106611627702700888%%3Aaonktv-oz_w&q=bells%%20palsy%%20mouth&exactTerms=palsy&fileType=png&imgColorType=color&imgType=face&searchType=image&key=AIzaSyAYqQ4IxUHnF7rfvzSvnczxQ-u93AbkC8k"

游乐场示例

如果%未转义,则 fmt 期望找到相应的参数,并在找不到参数(MISSING)时输出抱怨。


查看完整回答
反对 回复 2022-01-04
  • 1 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信