La palabra clave var en Golang se usa para crear las variables de un tipo particular que tienen un nombre propio y un valor inicial. La inicialización es opcional al momento de la declaración de variables usando la palabra clave var que discutiremos más adelante en este artículo.
Sintaxis:
var identifier type = expression
Ejemplo:
// here geek1 is the identifier // or variable name, int is the // type and 200 is assigned value var geek1 int = 200
Como sabe, Go es un lenguaje de tipado estático, pero aún brinda la posibilidad de eliminar la declaración del tipo de datos al declarar una variable, como se muestra en la siguiente sintaxis. Esto generalmente se denomina Inferencia de tipos .
Sintaxis:
var identifier = initialValue
Ejemplo:
var geek1 = 200
Múltiples declaraciones de variables usando var Keyword
La palabra clave var también se usa para declarar múltiples variables en una sola línea. También puede proporcionar el valor inicial a las variables como se muestra a continuación:
- Declarar múltiples variables usando la palabra clave var junto con el tipo:
var geek1, geek2, geek3, geek4 int
- Declarar múltiples variables usando la palabra clave var junto con el tipo y los valores iniciales:
var geek1, geek2, geek3, geek4 int = 10, 20, 30, 40
Nota:
- También puede usar la inferencia de tipos (discutida anteriormente) que le permitirá al compilador conocer el tipo, es decir, hay una opción para eliminar el tipo al declarar múltiples variables.
Ejemplo:
var geek1, geek2, geek3, geek4 = 10, 20, 30.30, true
- También puede usar varias líneas para declarar e inicializar los valores de diferentes tipos usando una palabra clave var de la siguiente manera:
Ejemplo:
var( geek1 = 100 geek2 = 200.57 geek3 bool geek4 string = "GeeksforGeeks" )
- Mientras usa el tipo durante la declaración, solo puede declarar múltiples variables del mismo tipo. Pero al eliminar el tipo durante las declaraciones, puede declarar múltiples variables de diferentes tipos.
Ejemplo:
// Go program to demonstrate the multiple
// variable declarations using var keyword
package main
import
"fmt"
func main() {
// Multiple variables of the same type
// are declared and initialized
// in the single line along with type
var geek1, geek2, geek3
int
= 232, 784, 854
// Multiple variables of different type
// are declared and initialized
// in the single line without specifying
// any type
var geek4, geek5, geek6 = 100,
"GFG"
, 7896.46
// Display the values of the variables
fmt.Printf(
"The value of geek1 is : %d\n"
, geek1)
fmt.Printf(
"The value of geek2 is : %d\n"
, geek2)
fmt.Printf(
"The value of geek3 is : %d\n"
, geek3)
fmt.Printf(
"The value of geek4 is : %d\n"
, geek4)
fmt.Printf(
"The value of geek5 is : %s\n"
, geek5)
fmt.Printf(
"The value of geek6 is : %f"
, geek6)
}
Producción:
The value of geek1 is : 232 The value of geek2 is : 784 The value of geek3 is : 854 The value of geek4 is : 100 The value of geek5 is : GFG The value of geek6 is : 7896.460000
Puntos importantes sobre la palabra clave var:
- Durante la declaración de la variable usando la palabra clave var, puede eliminar type o = expression pero no ambos. Si lo hace, entonces el compilador dará un error.
- Si eliminó la expresión, la variable contendrá el valor cero para números y false para booleanos «» para strings y nil para interfaz y tipo de referencia de forma predeterminada. Entonces, no existe tal concepto de una variable no inicializada en el lenguaje Go.
Ejemplo:
// Go program to illustrate
// concept of var keyword
package main
import
"fmt"
func main() {
// Variable declared but
// no initialization
var geek1
int
var geek2 string
var geek3 float64
var geek4
bool
// Display the zero-value of the variables
fmt.Printf(
"The value of geek1 is : %d\n"
, geek1)
fmt.Printf(
"The value of geek2 is : %s\n"
, geek2)
fmt.Printf(
"The value of geek3 is : %f\n"
, geek3)
fmt.Printf(
"The value of geek4 is : %t"
, geek4)
}
Producción:
The value of geek1 is : 0 The value of geek2 is : The value of geek3 is : 0.000000 The value of geek4 is : false
Publicación traducida automáticamente
Artículo escrito por Anshul_Aggarwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA