• net/urlパッケージのURLエンコードは2種類
  • url.QueryEscape()
    • スペースが+になる
  • url.PathEscape()
    • スペースが%20になる

こちらに詳しい URI エンコーディングについて

  • url.EncodeではQueryEscapeの方が使われているため、URLの+を変換したいときは正規表現を用いる

こちらに詳しい