Variables en Go

Las variables son contenedores para almacenar valores de diferentes tipos de datos, en Go existen diferentes tipos de variable. Go es un lenguaje tipado y por eso tenemos que definir variables para cada tipo de dato.

  • Iint – almacena numero enteros ya sea positivo o negativo
  • Float64 – almacena numero decimales como positivo y negativo
  • String – almacena cadena de caracteres y la cadena de caracteres van entre comillas dobles.
  • Bool – almacena valore como True y False

Definición de una variable

Las variables se definen con la instrucción var luego el nombre o identificador de la variable y luego el tipo de dato, la sintaxis seria var identificador tipo = valor. Si el valor de una variable se conoce puedes asiganar su valor en la linea, y si no se sabe puedes indicar solo el tipo de dato.

package main import "fmt" func main() { var name string = "Alex" var age int = 26 fmt.Println(name) fmt.Println(age) }
Lenguaje del código: Go (go)

Declaración de una variable sin valor inicial

En Go, se inicializan todas las variables. Entonces, si defines unas variables sin valor, su valor se establecerá con le valor predeterminado de su tipo.

Es importante saber que con Go, los variables no contienen valores nulos u otro tipo de valor, cuando defines una variable sin inicializar. Por que en Go todas se inicializan automáticamente.

package main import "fmt" func main() { var name string // Valor inicial "" var age int // Valor inicial 0 var size float64 // Valor iniciar 0 var itsAlive bool // Valor iniciar false fmt.Println(name) fmt.Println(age) fmt.Println(size) fmt.Println(itsAlive) }
Lenguaje del código: Go (go)

Asignar valores a una variable después de declarar

Luego de definir las variables podemos asignar otros valores, para modificar el valor inicial.

package main import "fmt" func main() { var name string // Valor inicial "" var age int // Valor inicial 0 var size float64 // Valor iniciar 0 var itsAlive bool // Valor iniciar false name = "Alex" itsAlive = true fmt.Println(name) fmt.Println(age) fmt.Println(size) fmt.Println(itsAlive) }
Lenguaje del código: Go (go)

Definer variables sin tipo de datos

La definición de las variables, podemos simplificar sin indicar el tipo de dato y automáticamente la variable se convertirá para un tipo de dato de acuerdo a su valor asignado. Para esto si o si tenemos que inicializar manualmente o agregar ya su valor.  

Para eso podemos hacer de dos formas, la primera forma es usando la palabra clave var como se muestra en el siguiente ejemplo.

package main import "fmt" func main() { var name = "Alex" var age = 26 fmt.Println(name) fmt.Println(age) }
Lenguaje del código: Go (go)

La segunda forma es usado el operador := como se muestra el siguiente ejemplo, este operador solo se usa al momento de definir, para modificar su valor solo escribes el identificador y el operador igual =.

package main import "fmt" func main() { name := "Alex" age := 26 name = "Roel" fmt.Println(name) fmt.Println(age) }
Lenguaje del código: Go (go)

Diferencias ente var y :=

  • Var – Puedes definir variables fuera y dentro de las funciones, también puedes definir variables sin asignar un valor indicando el tipo de dato.
  • := – Solo puedes definir dentro de la funciones y también tienes que asignar si o si un valor por que no puedes indicar el tipo de dato.  
package main import "fmt" var name = "Alex" func main() { age := 26 fmt.Println(name) fmt.Println(age) }
Lenguaje del código: Go (go)

Definir múltiples variables

Con Go es posible definir múltiples variables de un solo tipo o de varios tipos, asignando u valor o sin asignar un valor.

Ejemplo de múltiples variables de un solo tipo.

package main import "fmt" func main() { //Sin asignar nigun valor var a, b, c int //Asignado un valor var x, y = 12, 23 fmt.Println(a) fmt.Println(b) fmt.Println(c) fmt.Println(x) fmt.Println(y) }
Lenguaje del código: Go (go)

Ejemplo de múltiples variables de diferentes tipos de datos.

package main import ( "fmt" ) func main() { var ( name string = "Alex" age = 26 size float64 itsAlive bool ) fmt.Println(name) fmt.Println(age) fmt.Println(size) fmt.Println(itsAlive) }
Lenguaje del código: Go (go)

Regla de nombre de variable

  • El nombre de una variable debe comenzar con una letra o un carácter de subrayado (_)
  • Un nombre de variable no puede comenzar con un dígito o número
  • Los nombres de las variables distinguen entre mayúsculas y minúsculas edad, Edad y EDAD son tres variables diferentes.
  • Un nombre de variable no puede contener espacios
  • El nombre de la variable no puede ser ninguna palabra clave de Go

Nombre de variable de varias palabras

  • Camel Case .- Cada palabra excepto el primero comienza con mayúscula, y esta es mas usa tradicionalmente en Go para definir la variables. myVariableName
  • Pascal Case .- Cada palabra comienza con mayúscula. MyVariableName
  • Snake Case .- Cada palabra es separada por barra baja o guion bajo.   my_variable_name

Palabras reservadas de Go

breakdefaultfunctinterfaceselect
casedefergomapstruct
chanelsegotopackageswitch
constfallthroughifrangetype
continueforimportreturnvar