English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
El operador de declaración de variables cortas (:=) en Golang se utiliza para crear variables con nombres apropiados y valores iniciales. El principal objetivo de este operador es declarar e inicializar variables locales dentro de una función y reducir el ámbito de las variables. El tipo de la variable se determina por el tipo de la expresión. El keyword var también se utiliza para crear variables de tipos específicos. Por lo tanto, puede decir que en Golang hay dos métodos para crear variables, como se muestra a continuación:
Usar el keyword var
Usar el operador de declaración de variables cortas (:=)
En este artículo, discutiremos solo el operador de declaración de variables cortas. Para entender el keyword var, puedeEn Goreferenciakeyword var.
La sintaxis de la declaración de variables cortas usando el operador de declaración de variables cortas (:=)
variable_name := expresión o valor
Aquí, debe inicializar las variables inmediatamente después de la declaración, sin mencionar el tipo de variable, y la expresión o valor a la derecha se utiliza para evaluar el tipo de variable. Y el uso del keyword var puede evitar la inicialización en la declaración
ejemplo:}}Aquí, declaramos variables usando el operador de declaración corta (:=) sin especificar el tipo de variable. El tipo de la variable se determina por:=el tipo de la expresión de la derecha del operador determina.
package main import "fmt" func main() { //declaración e inicialización de variables a := 30 //acepta una variable de cadena Language := "Go Tutorial Básico del Lenguaje" fmt.Println("el valor de a: ", a) fmt.Println("el valor de Language: ", Language) }
Salida:
el valor de a: 30 el valor de Language: Go Tutorial Básico del Lenguaje
el operador de declaración corta también se puede usar para declarar varias variables en una sola declaracióndel mismo tipo o diferentes tiposvarias variables. Los tipos de estas variables se determinan por:=evalúa la expresión de la derecha del operador.
package main import "fmt" func main() { //varias variables del mismo tipo (int) w3codebox1, w3codebox2, w3codebox3 := 117, 7834, 5685 //varias variables de diferentes tipos w3codebox4, w3codebox5, w3codebox6 := "GFG", 859.24, 1234 //mostrar el valor y el tipo de variable fmt.Printf("w3codebox1 el valor es : %d\n", w3codebox1)} fmt.Printf("w3codebox1 el tipo es : %T\n", w3codebox1)} fmt.Printf("\nw3codebox2 el valor es : %d\n", w3codebox2)} fmt.Printf("w3codebox2 el tipo es : %T\n", w3codebox2)} fmt.Printf("\nw3codebox3 el valor es : %d\n", w3codebox3)} fmt.Printf("w3codebox3 el tipo es : %T\n", w3codebox3)} fmt.Printf("\nw3codebox4 el valor es : %s\n", w3codebox4)} fmt.Printf("w3codebox4 el tipo es : %T\n", w3codebox4)} fmt.Printf("\nw3codebox5 el valor es : %f\n", w3codebox5)} fmt.Printf("w3codebox5 el tipo es : %T\n", w3codebox5)} fmt.Printf("\nw3codebox6 el valor es : %d\n", w3codebox6)} fmt.Printf("w3codebox6 el tipo es : %T\n", w3codebox6)} }
Salida:
w3codebox1 el valor es : 117 w3codebox1 el tipo es : int w3codebox2 el valor es : 7834 w3codebox2 el tipo es : int w3codebox3 el valor es : 5685 w3codebox3 el tipo es : int w3codebox4 el valor es : GFG w3codebox4 el tipo es : string w3codebox5 el valor es : 859.240000 w3codebox5 el tipo es : float64 w3codebox6 el valor es : 1234 w3codebox6 el tipo es : int
usando el operador de declaración corta (:=),solo puede declararsolo tiene ámbito de bloquela variable local. Por lo general, las variables locales se declaran dentro de un bloque de función. Si intenta declarar una variable global usando el operador de declaración corta (:=), se lanzará un mensaje de error.
package main import "fmt" //usar la palabra clave var para declarar //e inicializar la variable //es una variable del paquete, o también se puede decir que es de alcance global var w3codebox1 := 900 //usar declaraciones de variables cortas //lanzará un error w3codebox2 := 200 func main() { //en el interior de la función acceder a w3codebox1 fmt.Println(w3codebox1)} // en el interior de la función acceder a w3codebox2 fmt.Println(w3codebox2)} }
error de salida:
.\test.go:12:1:error de sintaxis: no-declaración de sentencia fuera del cuerpo de la función #.\test.go:12:1:error de sintaxis: declaración de no declaraciones fuera del cuerpo de la función
package main import "fmt" //declarar una variable global usando var var w3codebox1 := 900 func main() { //usar declaraciones de variables cortas //dentro de la función principal //tiene un ámbito local, es decir, no puede //fuera de la función principal acceder w3codebox2 := 200 //en el interior de la función acceder a w3codebox1 fmt.Println(w3codebox1)} //en el interior de la función acceder a w3codebox2 fmt.Println(w3codebox2)} }
Salida:
900 200