English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang Grund教程

Golang Kontrollanweisungen

Golang Funktion & Methode

Golang Struktur

Golang Slice & Array

Golang Zeichenkette(String)

Golang Zeiger

Golang Schnittstelle

Golang Konkurrenz

Golang Ausnahme(Error)

Andere Golang-Verwendungsfälle

Go verkürzter Variablendeklarationsoperator (:=

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

mehere Variablen mit dem kurzen Deklarationsoperator (:=) zu deklarieren

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

:= ist es eine lokale Variable oder eine globale Variable?

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