Heim >Backend-Entwicklung >Golang >Wie deklariere und verwende ich Variablen in den bedingten „if'-Anweisungen von Go ordnungsgemäß?

Wie deklariere und verwende ich Variablen in den bedingten „if'-Anweisungen von Go ordnungsgemäß?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-29 06:44:13895Durchsuche

How to Properly Declare and Use Variables Within Go's Conditional `if` Statements?

Variablenbereich innerhalb bedingter Anweisungen in Go

Beim Navigieren durch die Nuancen von Variablenbereichen in Go, insbesondere innerhalb bedingter if-Anweisungen, kann dies der Fall sein Es ist verwirrend, auf die Unfähigkeit zu stoßen, Variablen innerhalb der Anweisung zu definieren und sie anschließend zu verwenden.

Bedenken Sie Folgendes case:

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

Dieser Code löst einen Fehler aus, da new1 nicht innerhalb des if-Blocks deklariert werden kann. Allerdings stellt die Erstellung vor dem Block ein Problem dar, da seine Größe vom Ergebnis des Vergleichs abhängt.

Lösung

Die optimale Problemumgehung besteht darin, new1 vor dem if zu deklarieren blockieren und make innerhalb der Anweisung verwenden:

var new1 []string

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

Dies ermöglicht die Erstellung von new1 mit einer Größe basierend auf dem bedingten Ergebnis, während seine Zugänglichkeit außerhalb von beibehalten wird wenn blockieren.

Das obige ist der detaillierte Inhalt vonWie deklariere und verwende ich Variablen in den bedingten „if'-Anweisungen von Go ordnungsgemäß?. 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