将字符串替换为golang代理的变量

将字符串替换为golang代理的变量,go,Go,我在这里尝试使用http代理代码 proxyUrl := url.Parse(strings.Replace("%v", RandomProxyAddress())) http.DefaultTransport = &http.Transport{Proxy: http.ProxyURL(proxyUrl)} 告诉我url.Parse中的参数太多 但是当我尝试的时候 proxyUrl := url.Parse(RandomProxyAddress()) http.DefaultTran

我在这里尝试使用http代理代码

proxyUrl := url.Parse(strings.Replace("%v", RandomProxyAddress()))
http.DefaultTransport = &http.Transport{Proxy: http.ProxyURL(proxyUrl)}
告诉我url.Parse中的参数太多

但是当我尝试的时候

proxyUrl := url.Parse(RandomProxyAddress())
http.DefaultTransport = &http.Transport{Proxy: http.ProxyURL(proxyUrl)}
我在单值上下文中获取
/main.go:138:multiple-value url.Parse()


当我尝试字符串替换时,它也告诉我太多变量。不确定如何让我的代理使用url。Parse

首先,url.Parse返回两个变量,一个url和一个错误,根据

其次,假设
RandomProxyAddress()
返回字符串或格式化为所需字符串的内容,而不是
strings.Replace
,您可能打算使用
fmt.Sprintf(“%v”,RandomProxyAddress())
。总之,你应该:

addr := fmt.Sprintf("%v", RandomProxyAddress())
proxyURL, err := url.Parse(addr)
if err != nil {
    log.Println(err)
}

也就是说,如果
RandomProxyAddress()
已经返回字符串,
fmt.Sprintf
就没有必要了。如果您确实想使用
字符串.Replace
,请注意,它不是两个。

需要4个参数。你在找吗?是的,这就是问题所在谢谢你@jimb不太清楚否决票是为了什么。