Я только начал изучать идти Ланг, и я запутался об объявлении переменных в языке идетПеременные не объявлено, внутри if..else заявления
, например, я объявляю req
, er
внутри если .. .else.
if strings.EqualFold(r.Method, "GET") || strings.EqualFold(r.Method, "") {
req, er := http.NewRequest(r.Method, r.Uri, b)
} else {
req, er := http.NewRequest(r.Method, r.Uri, b)
}
if er != nil {
// we couldn't parse the URL.
return nil, &Error{Err: er}
}
// add headers to the request
req.Host = r.Host
req.Header.Add("User-Agent", r.UserAgent)
req.Header.Add("Content-Type", r.ContentType)
req.Header.Add("Accept", r.Accept)
if r.headers != nil {
for _, header := range r.headers {
req.Header.Add(header.name, header.value)
}
}
Но у меня есть ошибка из терминала
./goreq.go:127: req declared and not used
./goreq.go:127: er declared and not used
./goreq.go:129: req declared and not used
./goreq.go:129: er declared and not used
кажется, что все, что я объявленная внутри Если заявление не работает ... Как я могу решить это?
Я не знаю много о 'go', но кажется, что если вы объявите' 'req' и er' перед, если заявление и назначить их в оператор if, то предупреждения (они являются предупреждениями или фактически ошибками?) должны уходить. – jonhopkins
В Go, идиоматично назвать результат ошибки 'err', а не' er' – Acidic