Variables, Constantes y Cero Valores en Go

Clase 7 de 36Curso Básico de Programación en Go

Contenido del curso

Resumen

Dominar la declaración de variables y constantes es uno de los primeros pasos esenciales para programar en Go. Entender cómo el lenguaje maneja los tipos de datos, las restricciones sobre variables no utilizadas y los valores por defecto te dará una base sólida para escribir código limpio y eficiente desde el inicio.

¿Cómo preparar el entorno con Git antes de escribir código?

Antes de comenzar a declarar variables, es importante versionar el proyecto. Usando git init se inicializa el repositorio local [01:00]. Después, con git status se verifica el estado actual del directorio de trabajo. Para agregar archivos se usa git add seguido del archivo o carpeta, y finalmente git commit -m "mensaje" registra los cambios con un mensaje descriptivo [01:30].

Un detalle importante: al agregar archivos al repositorio, lo ideal es hacerlo archivo por archivo, no carpetas completas. El mensaje del commit es más relevante de lo que parece, especialmente cuando se colabora con otros programadores.

¿Cómo se declaran constantes en Go?

Una constante es un valor que nunca cambiará durante la ejecución del programa. Si intentas reasignarle un valor, el runtime de Go lanzará un error [02:48].

Existen dos formas de declarar constantes:

  • Con tipo explícito: se indica el tipo de dato directamente. go const pi float64 = 3.14

  • Sin tipo explícito: Go infiere el tipo de dato automáticamente. go const pi2 = 3.15

Go es un lenguaje estáticamente tipado, lo que significa que normalmente debes indicar el tipo de cada variable o constante. Sin embargo, como se muestra en la segunda forma, existen excepciones donde el compilador puede deducir el tipo por sí mismo [03:05].

Al guardar el archivo, la extensión de Go en Visual Studio Code corrige automáticamente la sintaxis, ajustando espacios y formato según las convenciones del lenguaje.

¿Cuáles son las tres formas de declarar variables?

Las variables, a diferencia de las constantes, pueden cambiar su valor. Go ofrece tres maneras de declararlas [05:15]:

  • Declaración corta con :=: crea la variable y le asigna un valor sin especificar el tipo. Go lo infiere automáticamente. go base := 12

  • Declaración con var y tipo explícito: se indica el tipo de dato y se asigna un valor. go var altura int = 14

  • Declaración sin valor inicial: se define la variable y su tipo, pero no se le asigna valor. go var area int

El operador := indica que la variable no ha sido declarada previamente. Si usas solo =, Go espera que la variable ya exista.

¿Qué pasa si declaras una variable y no la usas?

Go no permite compilar ni ejecutar código que contenga variables declaradas pero no utilizadas [06:35]. La extensión del editor marca estas líneas con un subrayado rojo, y al intentar ejecutar, el compilador indica exactamente en qué líneas se encuentran las variables sin uso.

Esto puede parecer restrictivo para programadores que vienen de otros lenguajes, pero es una práctica que evita el consumo innecesario de memoria. La solución es usar la variable, comentarla o imprimirla temporalmente.

¿Qué son los zero values y por qué son importantes?

Los zero values son los valores que Go asigna por defecto cuando se declara una variable sin darle un valor inicial [07:50]. A diferencia de otros lenguajes que usan null o none, Go siempre asigna un valor concreto:

  • int0.
  • float640.
  • string"" (cadena vacía, no nula).
  • boolfalse.

go var a int var b float64 var c string var d bool fmt.Println(a, b, c, d) // 0 0 false

Este comportamiento es crucial tenerlo presente, ya que asumir que una variable no inicializada es nula puede generar errores lógicos difíciles de detectar, especialmente si trabajas con varios lenguajes simultáneamente [09:10].

¿Cómo calcular el área de un cuadrado con constantes y variables?

Como ejercicio práctico, se calcula el área de un cuadrado usando constantes y la declaración corta [09:45]:

go const baseCuadrado = 10 areaCuadrado := baseCuadrado * baseCuadrado fmt.Println("Área cuadrado:", areaCuadrado)

El resultado impreso es 100. En este caso, baseCuadrado se define como constante porque su valor no cambiará, mientras que areaCuadrado se crea con :=, permitiendo que Go infiera el tipo de dato automáticamente.

Si estás comenzando con Go, practica estas tres formas de declarar variables y experimenta con los zero values para familiarizarte con el comportamiento del lenguaje. ¿Cuál de las tres formas de declaración te resulta más intuitiva? Comparte tu experiencia.