Существует несколько способов. Первый — через переменную окружения. Он будет хорош для простых задач и может работать без правки Go-кода. Выполните в bash перед запуском своего приложения:
export HTTP_PROXY="http://proxyIp:proxyPort"
Либо же аналогично можно выполнить из программы:
os.Setenv("HTTP_PROXY", "http://proxyIp:proxyPort")
Теперь рассмотрим более сложный вариант, для этого нужно сконфигурировать клиент:
proxyUrl, err := url.Parse("http://proxyIp:proxyPort")
myClient := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}}
Либо же настроить дефолтный клиент:
proxyUrl, err := url.Parse("http://proxyIp:proxyPort")
http.DefaultTransport = &http.Transport{Proxy: http.ProxyURL(proxyUrl)}