2015-01-19 4 views
-3

Итак, я пытаюсь добавить строку к существующей карте, созданной из toml.GoLang положить строку на карте

http://hastebin.com/vayolavose

Когда я пытаюсь построить я получаю ошибку:

./web.go:56: аргументы для копирования имеют различные типы элементов: [] proxy.Address и строка

Как я могу его преобразовать? Я пробовал это в прошлом, как 4 часа.

Благодаря

+2

Если ваш вопрос касается вашего кода, включите его в вопрос, не публикуйте его на другой сайт. Если coDe слишком длинный, размещайте только соответствующую часть (и). Создайте минимальный, полный, проверяемый пример: [MCVE] (http://stackoverflow.com/help/mcve) – icza

ответ

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, например, (подумайте, что я не знаю структуру прокси.Address):

var backendAddr = []proxy.Address{} 
for _,str := range strings.split(backend,","){ 
     backendAddr = append(backendAddr, &proxy.Address(str)) 
}