2016-04-18 6 views
0

私は以下のURLを持っており、それぞれの繰り返しに対してstartの値を変更したいと思います。それを行うより良い方法はありますか?今ゴランのURLの補間方法

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)といくつかのランダムな文字を与えますか?

+0

'%v'ではなく' test'で '%d'を試してください。 –

答えて

2

%%としてエスケープする必要があります形式動詞の一部ではない%文字:%がエスケープされていない場合は、FMT対応する引数を見つけることを期待して文句を言い

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" 

playground example

を引数が見つからない場合は、出力(MISSING)が出力されます。

+0

'%v'がうまくいかない理由は何ですか? https://golang.org/pkg/fmt/ '%v'のデフォルト値は –

+0

Perfectの値になります。それは私のために働く:D – Bun