Heim >Backend-Entwicklung >Golang >Wie greife ich auf Variablen zu, die in einer „if...else'-Anweisung in Go deklariert sind?

Wie greife ich auf Variablen zu, die in einer „if...else'-Anweisung in Go deklariert sind?

DDD
DDDOriginal
2024-11-14 09:33:021004Durchsuche

How to Access Variables Declared Inside an `if...else` Statement in Go?

Variablenbereich in Go

In Go müssen Variablen innerhalb eines bestimmten Bereichs deklariert werden. Wenn Sie eine Variable innerhalb einer if...else-Anweisung deklarieren, ist ihr Gültigkeitsbereich auf diese Anweisung beschränkt. Dies bedeutet, dass die Variable nicht außerhalb der Anweisung verwendet werden kann.

Bedenken Sie den folgenden Code:

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

In diesem Code werden die Variablen req und er innerhalb des if deklariert... else-Anweisung. Dies bedeutet, dass sie nur innerhalb dieser Anweisung verwendet werden können. Außerhalb der Anweisung sind die Variablen undefiniert.

Um dieses Problem zu lösen, können Sie die Variablen außerhalb der if...else-Anweisung deklarieren, wie unten gezeigt:

var req *http.Request
var er error
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)
}

Jetzt , die Variablen req und er werden außerhalb der if...else-Anweisung deklariert, sodass sie in der gesamten Funktion verwendet werden können.

Das obige ist der detaillierte Inhalt vonWie greife ich auf Variablen zu, die in einer „if...else'-Anweisung in Go deklariert sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn