我有以下 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%20mouth
https://www.googleapis.com/customsearch/v1?startindex=11&q=bells%20palsy%20mouth
....等等
为什么 Sprintf
给我 (MISSING)
和几个随机字符?
最佳答案
不属于格式动词的 %
字符应转义为 %%
:
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)
。
关于go - 如何在 Golang 中对 URL 进行插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36700291/