Dominar los operadores condicionales if y else en Go es esencial al comenzar en la programación con este lenguaje. Comprender cómo funcionan estas sentencias te ayuda a controlar el flujo de ejecución de tus programas, permitiéndote tomar decisiones según diversas condiciones. A continuación verás claramente cómo implementarlos y ponerlos en práctica.
¿Qué son los condicionales if y else en Go?
La sentencia condicional if-else permite a un programa ejecutar ciertas acciones dependiendo si una condición específica se cumple o no. Veamos cómo utilizarla con ejemplos sencillos:
nombre :="Amín"edad :=40if nombre =="Amín"{ fmt.Println("Hola, Amín")}else{ fmt.Println("Hola, desconocido")}
Este código evalúa la condición del nombre y responde según coincida o no con la cadena establecida.
¿Cómo manejar condiciones con edades?
También puedes utilizar condicionales para evaluar datos numéricos como la edad. Observa cómo verificar si alguien tiene edad suficiente para votar:
Esta condición revisa si el valor de la variable edad es 18 o más y muestra un mensaje según corresponda.
¿Cuál es la utilidad del operador '%' en condiciones?
El operador "%" se usa para verificar el residuo de una división, lo que puede ayudarte a determinar ciertos comportamientos, como saber si un número es par o impar:
if8%2==0{ fmt.Println("El número es par")}else{ fmt.Println("El número es impar")}
En la práctica, al ejecutar este código, verás claramente el resultado de la evaluación, mostrando si la operación es exactamente divisible por el número indicado.
¿Qué ventajas tiene declarar variables dentro del if?
En Go puedes declarar variables directamente dentro del condicional if, facilitando el manejo interno y aislado de variables temporales:
if numero :=9; numero <0{ fmt.Println("Número negativo")}elseif numero <10{ fmt.Println("Número es de un solo dígito")}else{ fmt.Println("Número mayor a nueve")}
Esta forma puede parecer confusa al principio, pero facilita la lógica al mantener variables solo mientras son relevantes, liberando espacio y mejorando la legibilidad.
¿Cómo ejecutar y ver los resultados en la terminal?
Para ejecutar y observar estos resultados en la terminal, después de guardar tus cambios en el archivo principal, ingresa:
go run main.go
Al hacerlo, tendrás inmediato feedback visual sobre las condiciones aplicadas.
¿Cómo mejorar en la práctica de los condicionales?
Te recomiendo practicar variando los tipos de datos como enteros, booleanos o decimales para entender sus peculiaridades. Utiliza valores diferentes en condiciones similares para consolidar tu comprensión y afiánzate con la sintaxis de Go.
¿Qué resultados obtuviste en tus prácticas? Deja tus experiencias o dudas sobre el uso de condicionales en Go en los comentarios.
Jóvenes, recordar que printf y println trabajan diferente en cuanto a verbos de formato, printf entenderá los verbos de formato, pero println no y los imprimirá de forma literal
interesantísimo ese dato
Como complemento al condicional if también podemos encontrar el infravalorado switch cuya sintaxis es la siguiente
// Ejemplo 6: Condición con múltiples casos// Usando switch como alternativa a múltiples if-elsedia:="lunes"switch dia {case"lunes": fmt.Println("Inicio de semana")case"viernes": fmt.Println("Fin de semana laboral")default: fmt.Println("Día normal")}```Cómo podemos ver, no hace falta usar `break` como en otros lenguajes, de resto es muy parecido al que podemos encontrar en otros lenguajes como Java.
Habia empezado mi curso de go aca en platzi pero con otro curso mas viejo, menos mal lo actualizaron. Se entiende todo mejor y de una maneras mas modernizada 😊
Else if
La estructura else if se utiliza para agregar más opciones a una estructura if-else. La estructura else if tiene la siguiente sintaxis:
if condición1 { // Código que se ejecuta si la condición1 se evalúa a true}elseif condición2 { // Código que se ejecuta si la condición2 se evalúa a true}else{ // Código que se ejecuta si ninguna de las condiciones anteriores se evalúa a true}
Algo que ayuda bastante en este tipo de condicionales son los Operadores Lógicos AND, OR y NOT
Por si les sirve aquí en Go se manejan de la siguiente forma 🤗:
AND = &&
OR = ||
NOT = !
Segundo ejercicio:
package main
import "fmt"
func main() {
var nombre string = "ELLIOT"
if nombre == "TRENTON" {
fmt.Println("Hola ", nombre)
} else {
fmt.Println("Hola extraño")
}
edad := 55
if edad >= 18 {
fmt.Println("Ya puedes votar.")
} else {
fmt.Println("Aún no puedes votar.")
}
}
Primer Ejercicio:
import "fmt"
func main() {
var nombre string = "ELLIOT"
if nombre == "TRENTON" {
fmt.Println("Hola ", nombre)
} else {
fmt.Println("Hola extraño")
}
}
La siguiente pregunta aprece en el examen final, pero no se explica en esta clase: "14.
Dado if numero:=5; numero<10{fmt.Println(numero)}, ¿cómo comprobarías si numero está definido fuera del bloque if?"
Podria alguien explicar esto? No se explica ni en el video ni en el texto.
Cuando declaro una variable dentro del if, esa variable solo existe dentro del if? Si llamo a esa variable en la linea siguiente al if, arroja un error?
package flow_control
import("fmt""math/rand")// bloques condicionalesfunc conditionals(){if valor := rand.Intn(10); valor ==0{ fmt.Println("El número", valor,"es cero")}elseif valor%2==0{ fmt.Println("El número", valor,"es par")}else{ fmt.Println("El número", valor,"es impar")} fmt.Println("Fin del programa")}// casos o switchfunc switchCases(){ dia :="domingo"switch dia {case"lunes": fmt.Println("Hoy es lunes, el primer día de la semana")case"martes","miércoles","jueves": fmt.Println("Mitad de de la semana")case"viernes": fmt.Println("Viernes, fin de la semana laboral")case"sábado","domingo": fmt.Println("Fin de semana")default: fmt.Println("Día no válido")} letra :="a"switch letra {case"a","e","i","o","u","A","E","I","O","U": fmt.Println("Es una vocal")default: fmt.Println("Es cualquier otro caracter menos una vocal")}}func Selection(){conditionals()switchCases()}
Este lenguaje a nivel de sintaxis y optimización es demasiado satisfactorio