所以,我试图将一个字符串添加到从toml创建的现有地图中。
http://hastebin.com/vayolavose
当我尝试构建时,我收到错误:
./ web.go:56:复制参数有不同的元素类型:[] proxy.Address和string
我将如何转换它?我已经在过去尝试了4个小时。
由于
答案 0 :(得分:0)
同时,下面的代码是您的源代码
func handleAddFunc(w http.ResponseWriter, r *http.Request) {
backend := r.FormValue("backend")
key := r.FormValue("key")
if !isAuthorized(key) {
respond(w, r, 403, "")
return
}
w.Header().Set("Content-Type", "text/plain")
if !readConfig() {
return
}
activeAddrs = make([]proxy.Address, len(config.Proxy.ServerAddrs))
backendAddr = make([]proxy.Address, len(backend))
copy(backendAddr, config.Proxy.ServerAddrs)
copy(backendAddr, backend)
loadBalancer.SetAddrs(backendAddr)
fmt.Fprintf(w, "Input value of ", backend, "and here is the byte", backendAddr)
}
您的代码错误,是copy(backendAddr, backend)
,变量后端是来自请求的字符串值,您可以将其更改为[]proxy.Address
,例如(考虑我不知道proxy.Address的结构) :
var backendAddr = []proxy.Address{}
for _,str := range strings.split(backend,","){
backendAddr = append(backendAddr, &proxy.Address(str))
}