Una estructura de control permite la ejecución controlada de código (acciones) acordes a diferentes situaciones (o condiciones), las cuales son evaluadas por expresiones de comparación y/o expresiones lógicas o relacionales.
Un bloque es, básicamente, un conjunto de sentencias de código. A través de la sentencia if
podemos definir un bloque de código que sólo se ejecutará en el caso de que se cumpla una determinada condición. Esto nos ayudará a crear programas más inteligentes, comportándose de formas distintas y controladas. Para ello, se evalúa una condición lógica, que es una comparación de datos, lo que dará un resultado de tipo bool
. Si el resultado es true
se ejecutará el código que se encuentra dentro del bloque, el cual está definido entre llaves ({
y }
).
El siguiente ejemplo, evalúa la variable edad
. Si el valor de la variable es mayor o igual a 18, significa que es mayor de edad.
var edad int = 18 if edad >= 18 { fmt.Println("Eres mayor de edad") }
Si queremos realizar otra operación, en caso contrario, podemos añadir la cláusula else
a la sentencia if
.
var edad int = 18 if edad >= 18 { fmt.Println("Eres mayor de edad") } else { fmt.Println("Eres menor de edad") }
Podemos utilizar los operadores relaciones para evaluar más de una condición. En el siguiente ejemplo, evaluamos si la edad está entre 16 y 67 años, lo que significa que está en edad de trabajar:
if edad >=16 && edad <= 67 { fmt.Println("Estás en edad de trabajar") }
Para evaluar condiciones más complejas o más específicas, se pueden enlazar más sentencias if
en cláusulas else
. En el siguiente ejemplo evaluamos tres posibles casos sobre la edad: ser aún demasiado joven para trabajar, estar en edad de trabajar o estar jubilado.
edad = 68 if edad >=16 && edad <= 67 { fmt.Println("Estás en edad de trabajar") } else if edad < 16 { fmt.Println("Eres aún muy joven para trabajar") } else { fmt.Println("Estás ya jubilado") }
Enlaces de interés
- Operadores de comparación en Go: https://territoriogo.blogspot.com/2018/11/operadores-de-comparacion-en-go.html
- Operadores lógicos en Go: https://territoriogo.blogspot.com/2018/11/operadores-logicos-en-go.html
- Go by Example - if/else: https://gobyexample.com/if-else
- Golang Book - if: https://www.golang-book.com/books/intro/5#section2
No hay comentarios:
Publicar un comentario