Condicional if/else en Go

10 noviembre, 2019

Foto por: Luis Poletti

En esta ocasión quiero hablarles de una de las formas más conocidas y usadas que tenemos en Go para alterar el flujo de ejecución de un programa el condicional if/else.

Condicional simple: If / Else

Una manera con la cual nosotros podemos alterar el flujo de ejecución de un programa es a través de los condicionales, la sintaxis del condicional if es la siguiente, usamos la palabra reservada if seguida de una condición booleana, si esta es verdadera se ejecuta el código que está dentro de las llaves, caso contrario se ejecuta el código que está en la parte correspondiente al else.

En Go a diferencia de otros lenguajes de programación no es necesario colocar paréntesis alrededor de la condicional, de igual forma es posible tener una sentencia condicional if sin su correspondiente else.

package main

import "fmt"

func main() {

  isLearningGo := false

  if isLearningGo {
    fmt.Println("¡Genial!, Go es un lenguaje increible 😎")
  } else {
    fmt.Println("¿Que esperas?, ¡Empieza a aprenderlo! 👨🏽‍💻")
  }
}

Múltiple condiciones: If / Else if

Hay ocasiones en las que necesitamos realizar más de una condición, en esos casos podemos utilizar la siguiente sintaxis.

package main

import "fmt"

func main() {

  dayOfWeek := "Domingo"

  if dayOfWeek == "Lunes" {
    fmt.Println("Hoy es Lunes")
  } else if dayOfWeek == "Martes" {
    fmt.Println("Hoy es Martes")
  } else if dayOfWeek == "Miércoles" {
    fmt.Println("Hoy es Miércoles")
  } else if dayOfWeek == "Jueves" {
    fmt.Println("Hoy es Jueves")
  } else if dayOfWeek == "Viernes" {
    fmt.Println("Hoy es Viernes")
  } else if dayOfWeek == "Sabado" {
    fmt.Println("Hoy es Sabado")
  } else if dayOfWeek == "Domingo" {
    fmt.Println("Hoy es Domingo")
  } else {
    fmt.Println("No sé que día es 😅")
  }
}

En el ejemplo anterior podemos notar que a pesar de que funciona nuestro código no queda muy legible, de hecho es complicado seguir el flujo del programa y aunque es un ejemplo muy sencillo nos podemos dar una idea de lo complicado que esto podría volverse en una aplicación más compleja, para casos como este es preferible usar un condicional switch en lugar de un if, pero ese es tema de otro artículo 😉.

Condicional if con declaración

Otra característica de los condicionales en Go es que nos permiten hacer declaración de variables justo antes de realizar la comparación, cabe mencionar que dichas variables estarán disponibles en todas las ramas de la condicional, es decir, en los siguientes else if y else.

package main

import "fmt"

func main() {

  if age := 90; age < 18 {
    fmt.Printf("Tu edad es %d años: eres un niño 👦🏽", age)
  } else if age >= 18 && age < 65 {
    fmt.Printf("Tu edad es %d años: eres un adulto 👨🏼‍🦰", age)
  } else {
    fmt.Printf("Tu edad es %d años: eres un anciano 👨🏽‍🦳", age)
  }
}

Como mencioné previamente, es posible usar las variables declaradas antes de la condición en los siguientes bloques else if y else, tal y como vemos con la variable age que es usada en todas las ramas de la condicional.

Conclusión

Las condicionales son una parte muy importante para cualquier programa sin importar el lenguaje de programación ya que nos permite tomar decisiones basadas en ciertas condiciones, en esta ocasión vimos como usar la condicional if / else if la cual usarás todo el tiempo cuando estes programando, hasta la próxima 👋🏽.


Gustavo Castillo | Desarrollador Web | Aprende Enseñando y Compartiendo.