English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'operatore di dichiarazione variabile breve (:=) in Golang viene utilizzato per creare variabili con un nome appropriato e un valore iniziale. L'obiettivo principale di questo operatore è dichiarare e inizializzare variabili locali all'interno delle funzioni e restringere l'ambito delle variabili. Il tipo della variabile è determinato dal tipo dell'espressione. La chiave_var viene anche utilizzata per creare variabili di tipo specifico. Pertanto, puoi dire che ci sono due modi per creare variabili in Golang, come segue:
usare la chiave_var
usare l'operatore di dichiarazione variabile breve (:=)
In questo articolo, discuteremo solo dell'operatore di dichiarazione variabile breve. Per conoscere la chiave_var, puoiin Goriferimentochiave_var.
Sintassi dell'operatore di dichiarazione variabile breve:
nome_variabile := espressione o valore
In questo caso, è necessario inizializzare immediatamente la variabile dopo la dichiarazione, senza menzionare il tipo della variabile, l'espressione o il valore a destra viene utilizzato per valutare il tipo della variabile. E l'uso della parola chiave var può evitare di inizializzare durante la dichiarazione
Esempio:In questo caso, utilizziamo l'operatore di assegnazione breve per dichiarare variabili senza specificare il tipo. Il tipo della variabile è determinato da:=Determinato dal tipo dell'espressione a destra dell'operatore.
package main import "fmt" func main() { //Dichiarazione e inizializzazione delle variabili a := 30 //Accetta una variabile di stringa Language := "Go linguaggio di base tutorial" fmt.Println("Il valore di a: ", a) fmt.Println("Il valore di Language: ", Language) }
Output:
Il valore di a: 30 Il valore di Language: Go linguaggio di base tutorial
L'operatore di assegnazione breve (:=) può anche essere utilizzato per dichiarare variabili in una singola assegnazionestesso tipo o diversi tipiVariabili multiple. Il tipo delle variabili è determinato da:=L'espressione a destra dell'operatore viene valutata.
package main import "fmt" func main() { //多个相同类型的变量(int) w3codebox1, w3codebox2, w3codebox3 := 117, 7834, 5685 //不同类型的多个变量 w3codebox4, w3codebox5, w3codebox6 := "GFG", 859.24, 1234 //显示值和变量类型 fmt.Printf("w3codebox1 的值为 : %d\n", w3codebox1) fmt.Printf("w3codebox1 的类型为 : %T\n", w3codebox1) fmt.Printf("\nw3codebox2 的值为 : %d\n", w3codebox2) fmt.Printf("w3codebox2 的类型为 : %T\n", w3codebox2) fmt.Printf("\nw3codebox3 的值为 : %d\n", w3codebox3) fmt.Printf("w3codebox3 的类型为 : %T\n", w3codebox3) fmt.Printf("\nw3codebox4 的值为 : %s\n", w3codebox4) fmt.Printf("w3codebox4 的类型为 : %T\n", w3codebox4) fmt.Printf("\nw3codebox5 的值为 : %f\n", w3codebox5) fmt.Printf("w3codebox5 的类型为 : %T\n", w3codebox5) fmt.Printf("\nw3codebox6 的值为 : %d\n", w3codebox6) fmt.Printf("w3codebox6 的类型为 : %T\n", w3codebox6) }
Output:
w3codebox1 的值为 : 117 w3codebox1 的类型为 : int w3codebox2 的值为 : 7834 w3codebox2 的类型为 : int w3codebox3 的值为 : 5685 w3codebox3 的类型为 : int w3codebox4 的值为 : GFG w3codebox4 的类型为 : string w3codebox5 的值为 : 859.240000 w3codebox5 的类型为 : float64 w3codebox6 的值为 : 1234 w3codebox6 的类型为 : int
using the short variable declaration operator (:=),You can only declareonly have block scopelocal variablesIn general, local variables are declared within functional blocks. If you try to declare a global variable using the short declaration operator, an error message will be thrown.
package main import "fmt" //Declare using the var keyword //and initialize the variable //It is a package variable, or you could say global scope var w3codebox1 = 900 //Use short variable declarations //It will throw an error w3codebox2 := 200 func main() { //In the function, accessing w3codebox1 fmt.Println(w3codebox1) //In the function, accessing w3codebox2 fmt.Println(w3codebox2) }
Output error:
.\test.go:12:1: syntax error: non-declaration statement outside function body #.\test.go:12:1: Syntax error: non-declaration statement outside function body
package main import "fmt" //Use var to declare a global variable var w3codebox1 = 900 func main() { //Use short variable declarations //In the main function //It has local scope, that is, it cannot //Outside the main function w3codebox2 := 200 //In the function, accessing w3codebox1 fmt.Println(w3codebox1) //In the function, accessing w3codebox2 fmt.Println(w3codebox2) }
Output:
900 200