Control de Flujo
if y else en Go funcionan como cabría esperar, con una pequeña diferencia respecto a muchos otros lenguajes: la condición nunca necesita paréntesis, aunque las llaves siempre son obligatorias, incluso para una sola sentencia.
main.go
Pruébalo tú mismo →package main
import "fmt"
func main() {
age := 20
if age >= 18 {
fmt.Println("You are an adult")
} else {
fmt.Println("You are a minor")
}
}Output
You are an adult
for es la única palabra clave de bucle de Go
Go no tiene while ni do-while — for cubre toda forma de bucle. Con las tres cláusulas, es un bucle de conteo clásico; quita las cláusulas de inicialización y de incremento y deja solo una condición, y se comporta exactamente como un bucle while en cualquier otro lenguaje.
main.go
Pruébalo tú mismo →package main
import "fmt"
func main() {
for i := 0; i < 3; i++ {
fmt.Println("counting up:", i)
}
n := 3
for n > 0 {
fmt.Println("counting down:", n)
n--
}
}Output
counting up: 0 counting up: 1 counting up: 2 counting down: 3 counting down: 2 counting down: 1
Siguiente: arrays y slices — los tipos de colección de tamaño fijo y creciente de Go.
Practice exercise
Define una variable score := 73. Imprime "pass" si score es 60 o más, de lo contrario imprime "fail".