Variable nicht deklariert ist, innerhalb einer if..else-Anweisung

Ich bin gerade angefangen zu lernen, gehen Sie lang, und ich bin verwirrt über das deklarieren von Variablen in go lang

beispielsweise habe ich erklären req, er innerhalb der if...else-Anweisung.

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)
    }
}

Aber ich habe Fehler vom terminal

./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

scheint, wie alles, was ich erklärt, innerhalb der If-Anweisung nicht funktioniert... Wie kann ich es gelöst?

  • Ich weiß nicht viel über go, aber es scheint, dass, wenn Sie erklären req und er vor der if-Anweisung, und weisen Sie im inneren der if-Anweisung, dann die Warnungen (werden Sie Warnungen oder tatsächlich Fehler?) Weggehen sollte.
  • Im Gehen, es ist idiomatisch, um den Namen des Fehler-Ergebnis err eher als er
InformationsquelleAutor LiJung | 2014-01-31
Schreibe einen Kommentar