Contenido del curso

Estructuras de Datos y Funciones

if else y operador módulo en Go

Resumen

Las condiciones en Go te permiten controlar el flujo de tu programa con una sintaxis limpia y reglas estrictas que conviene dominar desde el inicio. Aquí aprenderás a escribir estructuras if, else y else if en Go, cómo declarar variables dentro de la condición y cómo aplicar el operador módulo para evaluar paridad. Es una guía pensada para quien empieza con Go y quiere entender los patrones básicos de control de flujo.

¿Cómo se escribe un if else en Go?

La estructura condicional es lo primero que vas a usar en cualquier programa real. En Go, la sintaxis es directa pero tiene una particularidad que rompe a quien viene de otros lenguajes.

Dentro de una carpeta condiciones, creas un archivo main.go, declaras el package main e importas fmt. Después, dentro de func main(), defines tus variables y empiezas con la condición.

go nombre := "Amin" edad := 40

if nombre == "Amin" { fmt.Println("Hola, Amin") } else { fmt.Println("Hola, desconocido") }

Fíjate en el detalle clave: el else debe ir en la misma línea que la llave de cierre del if. Si lo pones en una línea nueva, Go marca error. Esa regla es parte del estilo obligatorio del lenguaje.

¿Por qué Go obliga a poner el else en la misma línea? Porque su gramática requiere que la llave de apertura esté en la misma línea que la palabra clave. Separarla rompe el parser y produce un error de compilación.

¿Qué es el operador módulo y cómo se usa para saber si un número es par?

El operador %, conocido como módulo, devuelve el residuo de una división entera. No calcula porcentajes: divide y te da lo que sobra. Es una herramienta básica para evaluar paridad y condiciones cíclicas.

Si 8 % 2 == 0, el resultado es cero, lo que significa que 8 se divide exactamente entre 2 y por lo tanto es par. Si el residuo fuera distinto de cero, el número sería impar.

go if 8 % 2 == 0 { fmt.Println("8 es par") } else { fmt.Println("8 es impar") }

Este patrón funciona igual con cualquier divisor. Cambias el 2 por un 3 y evalúas múltiplos de 3, y así sucesivamente. Es de los operadores que más cuesta interiorizar al principio, pero una vez que cae el clic, lo usas en todos lados.

¿Cómo encadenar condiciones con else if en Go?

Cuando necesitas evaluar más de dos caminos, encadenas else if antes del else final. Go también te permite declarar una variable dentro del propio if, lo cual mantiene el alcance limitado a esa condición.

go if numero := 99; numero < 0 { fmt.Println("El número es negativo") } else if numero < 10 { fmt.Println("El número es de un solo dígito") } else { fmt.Println("El número es mayor a 9") }

Al correr el programa con go run main.go desde la carpeta condiciones, el flujo evalúa cada bloque en orden:

  • Si pones 9 como número, entra al segundo bloque y dice que es de un solo dígito.
  • Si pones 99, salta los dos primeros y cae en el else, que confirma que es mayor a 9.
  • Si fuera negativo, se quedaría en el primer if.

¿Conviene declarar variables dentro del if en Go? Sí cuando la variable solo se usa en esa condición y quieres mantener el alcance acotado. Si la vas a reutilizar fuera, declárala antes para no perder de vista dónde vive.

¿Cómo ejecutar tu programa Go desde la terminal?

El flujo es siempre el mismo: te mueves a la carpeta del proyecto y corres el archivo principal.

  1. Entra a la carpeta con cd condiciones.
  2. Ejecuta go run main.go en minúsculas.
  3. Lee la salida en consola y ajusta los valores para probar otros caminos.

Cambiar los valores de nombre, edad o numero te deja ver cómo cada rama de tu condición se activa o se ignora. Es la mejor forma de entender el control de flujo sin leer teoría.

¿Qué buenas prácticas seguir al escribir condiciones en Go?

Declarar variables dentro del if es elegante, pero puede confundir cuando recién empiezas. Una práctica recomendable es mantener las variables fuera de la condición mientras te acostumbras al lenguaje, así sabes siempre dónde están definidas y dónde las estás usando.

Practica combinando tipos distintos dentro de tus condiciones: enteros, booleanos y decimales. Cada tipo te obliga a pensar diferente sobre la comparación y refuerza tu intuición sobre cómo Go evalúa expresiones lógicas.

¿Qué tipo de condiciones te están costando más trabajo de implementar? Cuéntame en los comentarios para resolverlas juntos.