Golang declaración explícita de variables en 5 min.
Declaración explícita de variables
Una declaración explícita se hace con la palabra reservada var, el nombre de la variable y el tipo de dato que va a guardar.
var nombre string
var edad int
var calificacion float64
var aprobado bool
Cuando se declaran variables se inicializan en “cero”, por ejemplo para las variables de tipo string quedan con una cadena vacía, para las variables de tipo int quedan con valor de 0, para las variables de tipo float64 quedan con un valor de 0 y para las variables de tipo bool quedan con un valor de false.
Ejemplo: Declaración explícita de variables
otra opción de declaración de variables es la:
Declaración múltiple de variables
En la declaración múltiple solamente se usa una palabra reservada var y se agrupan los nombres con sus respectivos tipos dentro de paréntesis:
var (
nombre string
edad int
calificacion float64
aprobado bool
)
Ejemplo: Declaración múltiple de variables
Las declaraciones implícitas y las declaraciones implícitas múltiples, pueden tener alcance dentro y fuera de las funciones, o dicho de otra manera, las puedo poner dentro o fuera de las funciones, en los ejemplos anteriores están dentro de la función main.
Y en los siguiente ejemplos están fuera de la función main.
Ejemplo: Declaración explicita de variables, fuera de la función
Ejemplo: Declaración multiple de variables, fuera de la función
Otra opción es poner las declaraciones fuera y después de la función main
Otro Ejemplo: Declaración múltiple de variables, fuera de la función
No es común hacer la declaración de variables después de las funciones pero es importante observar qué funciona.
Lo que no funciona es lo siguiente:
/*
twitter@hector_gool
*/
package main
import (
"fmt"
)
func main() {
fmt.Printf("Nombre: %v, Edad: %v, Calificación: %v, Aprobado: %v", nombre, edad, calificacion, aprobado)
var (
nombre string
edad int
calificacion float64
aprobado bool
)
}
Al ejecutar el programa voy a obtener algo como lo siguiente:
tmp/sandbox723369642/main.go:13:70: undefined: nombre
tmp/sandbox723369642/main.go:13:78: undefined: edad
tmp/sandbox723369642/main.go:13:84: undefined: calificacion
tmp/sandbox723369642/main.go:13:98: undefined: aprobado
La razón por la que no funciona es por qué estoy queriendo imprimir unas variables qué en ese punto del programa no han sido declaradas o definidas. Primero tienen qué ser declaradas para que puedan ser usadas.
Ejemplo: esto no se debe hacer
En el siguiente post hablaré de la asignación de valores a variables y todos esos pequeños detalles que tienen.
Apreciaria tu voto si te gusto el post o un follow para que te mantengas al día de estos post o cualquier comentario para hacerme saber lo qué opinas.
Hasta pronto.
Congratulations @elsanto! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
You got your First payout
Award for the total payout received
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @elsanto! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Good post
Congratulations @elsanto! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @elsanto! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @elsanto! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP