The variables and the constantes in GO
#Go
#Golang
#variables
#constantes
Published on May 18, 2022
·4 min read
The first thing we need to see is what a variable looks like in GO.Link to this heading
var greetings string = "Welcome to Picadores de codigo!"
we can see that the declaration of the variables has the following structure
var name type = expression
vemos que inicia con la palabra reservada var, luego el nombre de la variable, luego el tipo de dato luego el = y por último el valor que le vayamos a asignar.
Veamos un ejemplo en una funciónLink to this heading
package main
import "fmt"
func main(){
var greetings string = "Welcome to Picadores de codigo!"
fmt.Println(greetings)
}
// Esto imprime Welcome to Picadores de codigo!
Algunas cosas a tener en cuentaLink to this heading
- Los tipos de datos son fijos es decir que una variable no puede cambiar son tipo de dato durante su ciclo de vida.
- Podemos declarar o iniciar una variable sin asignarle un valor.
var greetings string
-
Los valores iniciales de las variables a las cuales no se les ha asignado ningún valor son los siguientes: en los tipos numéricos inician en 0, los tipos string inician en vacio “”, los tipos boolean inician en falso, los demás tipos inician en nil (nulo).
-
Se puede asignar en GO un grupo de variables de la siguiente manera:
var (
nombre tipo
nombre2 tipo
nombre3 tipo
)
- Ej: asignandoles valor:
var (
a = 1
b = “hola”
c = true
)
-
Las variables pueden ser declaradas dentro de una función o por fuera de las funciones. Las que son declaradas dentro de una función se llaman variables locales, las que son declaradas por fuera de una función se llaman variables globales estas tienen "Package Visibility" las mismas pueden ser usadas en cualquier archivo .go que pertenezca al mismo paquete. Y aquellas variables declaradas a nivel de paquete que sean declaradas con una letra mayúscula al principio, son variables públicas que pueden ser accedidas desde cualquier paquete.
-
Una cosa importante a tener en cuenta es que GO no permite la declaración de variables que no sean usadas.
Modo corto de declarar variablesLink to this heading
- Las variables locales (recordemos las declaradas dentro de las funciones) pueden ser declaradas con la manera corta de GO para declarar variables
greetings := "Hello"
El motor de GO analiza la variable y asigna el tipo de dato correspondiente
- También se puede asignar un grupo de variables de la manera corta de la siguiente manera
nombre1, nombre2, nombre3 := 10, "Hola", true
Nombrando variables en GO: Buenas prácticasLink to this heading
El nombrado de las variables en GO es bastante flexible, pero aqui van algunas reglas para tener en cuenta:
- Los nombres de las variables deben ser de una palabra (no se permiten espacios)
- Los nombres de las variables pueden contener solo letras, números y guion bajo _
- Los nombres de las variables no pueden empezar con un número.
A continuación te dejo una tabla con ejemplos de diferentes casos:
Válido | Inválido | Porque es inválido |
---|---|---|
firstName | first-name | No se permiten guiones medio (-) |
age18 | 18age | No puede inciar con un número |
lastName | $lastName | No se pueden usar símbolos |
userName | user name | No puede haber espacios |
Que una variable este en PascalCase tiene un significado especial para GO, esto genera que la variable sea accesible por otros paquetes. EJ:
var FirstName string // accesible por otros paquetes (PascalCase)
var firstName string // NO accesible por otros paquetes (CamelCase)
Reasignación del valor de una variableLink to this heading
Como su nombre lo dice nosotros podemos variar el valor de una variable. Veamos un ejemplo
package main
import "fmt"
func main() {
name := "Diego"
fmt.Println(i)
name = "Juan"
// Un importante detalle es que la reasingnación se lográ con =
// si lo hacemos con := esto nos generará un error de compilación
fmt.Println(i)
}
// Imprime
Diego
Juan
Algo que no podemos hacer es reasignar un valor de otro tipo veamos un Ej
yearOfBirth := 1993
yearOfBirth = "1994"
Esto nos generará un error de compilación
// Imprime
cannot use "1994" (type string) as type int in assignmen
ConstantesLink to this heading
Las constantes son como las varias exepto que no se puede reasignar su valor después que han sido definidas Para declarar una constante debemos simplemente usar esta sintaxis
const name = "picadoresDeCodigo"