Heim >Backend-Entwicklung >Golang >Wie kann ich auf Variablen zugreifen, die innerhalb einer Go-If-Anweisung außerhalb davon deklariert sind?

Wie kann ich auf Variablen zugreifen, die innerhalb einer Go-If-Anweisung außerhalb davon deklariert sind?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-29 17:31:10512Durchsuche

How Can I Access Variables Declared Inside a Go `if` Statement Outside of It?

Variablenbereich in bedingten Anweisungen

In Go sind Variablen, die im Rahmen einer if-Anweisung deklariert wurden, nur innerhalb dieses Blocks sichtbar. Dies kann eine Herausforderung darstellen, wenn es erforderlich ist, in der bedingten Anweisung deklarierte Variablen außerhalb davon zu verwenden.

Bedenken Sie den folgenden Code:

if len(array1) > len(array2) {
    new1 := make([]string, 0, len(array1))
}

// Error: new1 is not visible here
new2 := make([]string, 0, len(new1))

In diesem Beispiel wird die Variable new1 deklariert innerhalb der if-Anweisung und kann nur innerhalb dieses Bereichs verwendet werden. Um dieses Problem zu lösen, muss new1 außerhalb der if-Anweisung deklariert und darin initialisiert werden.

var new1 []string

if len(array1) > len(array2) {
    new1 = make([]string, 0, len(array1))
} else {
    new1 = make([]string, 0, len(array2))
}

new2 := make([]string, 0, len(new1))

Jetzt wird new1 außerhalb der if-Anweisung deklariert und kann sowohl im if- als auch im else-Block aufgerufen werden. Dadurch kann es im nachfolgenden Code verwendet werden, wo es als Argument an make.

übergeben wird

Das obige ist der detaillierte Inhalt vonWie kann ich auf Variablen zugreifen, die innerhalb einer Go-If-Anweisung außerhalb davon 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