#golangTweet最近、会社で非同期処理が辛い的な話をよくします。起点となるURLを指定する。タグで指定してあるURLを次に参照する。同じURLは一度だけ参照。Webページの取得は非同期に。間は、3種類のチャンネルを使用して連携しています。リクエスト⌗リクエストは、リクエストチャンネルに追加します。参照したかどうかのチェックを行っています。}}まず、指定されたURLのWebページを取得し、その中のURLを取得します。エラー)を、結果用のチャンネルに追加します。Webページ内のURLが取得出来た場合は、新しいリクエストとしてそれぞれチャンネルに追加します。ここで、クロールの深さをデクリメントします。終了時に、処理終了の通知をチャンネルに追加します。使うような感覚で簡単に要素を抽出できて便利です。実行する際にワーカー数をインクリメント、結果通知を受け取った場合にワーカー数をデクリメントしています。