Heim >Backend-Entwicklung >Golang >Wie deklariere und verwende ich Variablen in den bedingten „if'-Anweisungen von Go ordnungsgemäß?
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!