English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Der verkürzte Variablendeklarationsoperator (:=) in Golang wird verwendet, um Variablen mit angemessenen Namen und Initialwerten zu erstellen. Der Hauptzweck dieses Operators ist die Deklaration und Initialisierung lokaler Variablen innerhalb von Funktionen und die Begrenzung des Bereichs von Variablen. Der Typ der Variable wird durch den Typ des Ausdrucks bestimmt. Das Schlüsselwort var wird auch verwendet, um Variablen eines bestimmten Typs zu erstellen. Daher können Sie sagen, dass es in Golang zwei Methoden gibt, Variablen zu erstellen, wie in folgendem Beispiel gezeigt:
Verwenden Sie das Schlüsselwort var
Verwenden Sie den verkürzten Variablendeklarationsoperator (:=)
In diesem Artikel werden wir nur den verkürzten Variablendeklarationsoperator diskutieren. Um mehr über das Schlüsselwort var zu erfahren, können SieIn GoVerweisvar-Schlüsselwort.
Syntax für die Verwendung des verkürzten Variablendeklarationsoperators:
variable_name := Ausdruck oder Wert
Hier muss nach der Deklaration sofort eine Variable initialisiert werden, ohne die Art der Variable zu erwähnen. Der Ausdruck oder der Wert auf der rechten Seite wird zur Bewertung der Variablenart verwendet. Mit dem Schlüsselwort var kann vermieden werden, dass bei der Deklaration eine Initialisierung erforderlich ist.
Beispiel: }}Hier verwenden wir den kurzen Deklarationsoperator, um Variablen zu deklarieren, ohne den Typ der Variablen zu spezifizieren. Der Typ der Variable wird durch:=bestimmt der Ausdruck auf der rechten Seite des Operators.
package main import "fmt" func main() { //Deklaration und Initialisierung der Variable a := 30 //eine Zeichenkette als Variable akzeptieren Language := "Go-Sprachgrundlagenlehrbuch" fmt.Println("Wert von a: ", a) fmt.Println("Wert der Sprache: ", Language) }
Ausgabe:
Wert von a: 30 Wert der Sprache: Go-Sprachgrundlagenlehrbuch
kurze Deklarationsoperatoren können auch verwendet werden, um mehrere Variablen in einer einzigen Deklaration zu deklarierengleiche oder verschiedene Typenmehere Variablen. Der Typ der Variablen wird durch:=bewertet. Der Ausdruck auf der rechten Seite des Operators.
package main import "fmt" func main() { //mehere gleiche Typen (int) w3codebox1, w3codebox2, w3codebox3 := 117, 7834, 5685 //verschiedene Typen mehrerer Variablen w3codebox4, w3codebox5, w3codebox6 := "GFG", 859.24, 1234 //zeigen Wert und Variablentyp fmt.Printf("w3codebox1 Wert ist: : %d\n", w3codebox1)}} fmt.Printf("w3codebox1 Typ ist: : %T\n", w3codebox1)}} fmt.Printf("\nw3codebox2 Wert ist: : %d\n", w3codebox2)}} fmt.Printf("w3codebox2 Typ ist: : %T\n", w3codebox2)}} fmt.Printf("\nw3codebox3 Wert ist: : %d\n", w3codebox3)}} fmt.Printf("w3codebox3 Typ ist: : %T\n", w3codebox3)}} fmt.Printf("\nw3codebox4 Wert ist: : %s\n", w3codebox4)}} fmt.Printf("w3codebox4 Typ ist: : %T\n", w3codebox4)}} fmt.Printf("\nw3codebox5 Wert ist: : %f\n", w3codebox5)}} fmt.Printf("w3codebox5 Typ ist: : %T\n", w3codebox5)}} fmt.Printf("\nw3codebox6 Wert ist: : %d\n", w3codebox6)}} fmt.Printf("w3codebox6 Typ ist: : %T\n", w3codebox6)}} }
Ausgabe:
w3codebox1 Wert ist: : 117 w3codebox1 Typ ist: : int w3codebox2 Wert ist: : 7834 w3codebox2 Typ ist: : int w3codebox3 Wert ist: : 5685 w3codebox3 Typ ist: : int w3codebox4 Wert ist: : GFG w3codebox4 Typ ist: : string w3codebox5 Wert ist: : 859.240000 w3codebox5 Typ ist: : float64 w3codebox6 Wert ist: : 1234 w3codebox6 Typ ist: : int
mit dem kurzen Variablendeklarationsoperator (:=)Sie können nurhaben nur einen Blockbereichlokale Variablen. Normalerweise werden lokale Variablen innerhalb eines Funktionsblocks deklariert. Wenn versucht wird, eine globale Variable mit dem kurzen Deklarationsoperator (:=) zu deklarieren, wird eine Fehlermeldung ausgegeben.
package main import "fmt" //mit dem Schlüsselwort var deklarieren //und Variablen initialisieren //es ist eine Paketvariable oder Sie können auch globalen Geltungsbereich sagen var w3codebox1 := 900 //kurze Variablendeklarationen verwenden //es wirft einen Fehler aus w3codebox2 := 200 func main() { //im Innern der Funktion w3codebox1 fmt.Println(w3codebox1)}} // im Innern der Funktion w3codebox2 fmt.Println(w3codebox2)}} }
Ausgabefehler:
.\test.go:12:1: Syntaxfehler: nicht-declaration statement outside function body #.\test.go:12:1: Syntaxfehler: nicht deklarierte Anweisung außerhalb der Funktion
package main import "fmt" //eine globale Variable mit var deklarieren var w3codebox1 := 900 func main() { //kurze Variablendeklarationen verwenden //im Hauptprogramm //es hat einen lokalen Gültigkeitsbereich, das bedeutet, dass es nicht //außerhalb der Hauptfunktion zugreifen w3codebox2 := 200 //im Innern der Funktion w3codebox1 fmt.Println(w3codebox1)}} //im Innern der Funktion w3codebox2 fmt.Println(w3codebox2)}} }
Ausgabe:
900 200