golangで特定のurlをクロールしてそのurl以下のurlを出力する

画像クローラーの制作の一環でタイトルのようなことをすることがあったんで、その知見を載せておきます。とりあえず、以下のようにやりました。

gist32afb93e0108239e8b86

とりあえず、特定のurl以下のurlの数、(ここではresultsの要素数)まで関数を回し続ける、といったような感じです、う~ん、なんかもっといい方法があるような、、、って感じです。

L:
    for _, urrrl := range urls {
        urrl := urrrl.String()
        for e := 0; e < len(stock); e++ {
            if urrl == stock[e] {
                continue L
            }
        }

同じurlにもう一度リクエストを投げたりなんてすることがないように、一度呼んだurlはスライスに格納して、関数内にマッチするかどうかの条件節を置いて、マッチする、即ち既に呼んだurlならばリストを使ってもう一度その関数をまわすようにしました。

   if !strings.Contains(urrl, base) {
            continue L
        }

また特定のurl以下を呼ばなければならないので、文字列に特定のurlを含むかどうかを条件として、含まないようであれば、またリストを使って関数を回してあげることにしました。

以上のような感じでやってはみたのですが、量が多すぎるため、クロールしきれないです、たぶん書き方によってはどうにかなるとはおもうのですが、、、助言などしてもらえれば助かります。