Bucle `for` - Solo condición
Parte de la sección Fundamentos del Journey de GO de Coddy — lección 46 de 109.
Aprendamos sobre el bucle for de solo condición en Go. Este tipo de bucle funciona como un bucle while en otros lenguajes, utilizando solo una condición sin sentencias de inicialización o posteriores.
Primero, vamos a crear un programa de contador simple que cuente del 1 al 3:
i := 1
for i <= 3 {
fmt.Println(i)
i++
}Después de ejecutar este código, los números 1, 2 y 3 se mostrarán en la pantalla uno tras otro:
1
2
3El bucle funciona comprobando si i es menor o igual que 3 antes de cada iteración. Dentro del bucle, imprimimos el valor actual de i y luego lo incrementamos en 1 con i++. El bucle continúa ejecutándose mientras la condición i <= 3 siga siendo verdadera, y se detiene cuando i se convierte en 4.
A diferencia del bucle for estándar, necesitamos incrementar manualmente nuestra variable de contador dentro del cuerpo del bucle; de lo contrario, crearíamos un bucle infinito.
Desafío
PrincipianteEn este desafío, practicarás el uso de un bucle for con solo una condición (sin inicialización ni sentencia posterior). Esto es similar a un bucle while en otros lenguajes.
Hemos proporcionado una variable booleana keepRunning establecida en true y una variable de contador count establecida en 0. Tu tarea es completar el bucle for que imprimirá los números del 0 al 4 y luego se detendrá.
Dentro del bucle, incrementamos count y verificamos si llega a 5. Cuando lo hace, establecemos keepRunning en false para salir del bucle.
Hoja de referencia
El bucle for de solo condición en Go funciona como un bucle while, utilizando solo una condición sin sentencias de inicialización o posteriores:
i := 1
for i <= 3 {
fmt.Println(i)
i++
}El bucle comprueba la condición antes de cada iteración y continúa mientras esta siga siendo verdadera. Debes incrementar manualmente la variable del contador dentro del cuerpo del bucle para evitar bucles infinitos.
Pruébalo tú mismo
package main
import "fmt"
func main() {
// Estas variables ya están configuradas para ti
keepRunning := true
count := 0
// TODO: Completa el bucle for que utiliza solo una condición (como un bucle while)
// El bucle debe continuar mientras keepRunning sea true
for {
// Imprimir el conteo actual
fmt.Println(count)
// Incrementar count
count++
// Verificar si count es 5, y si es así, establecer keepRunning en false
if count >= 5 {
keepRunning = false
}
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparación - Parte 1Operadores de comparación - Parte 2Operador lógico ANDOperador lógico OROperador lógico NOTConceptos básicos de precedencia de operadoresResumen: Realizar comparaciones7Flujo de control: Bucles
Explicación del bucle `for`Bucle `for` - BásicoBucle `for` - Solo condiciónLa palabra clave `break`La palabra clave `continue`Bucles anidadosResumen - Repetición de acciones2Variables y tipos de datos básicos
¿Qué es una variable?Inferencia de tipos con `:=`Enteros (int)Números de punto flotanteBooleanosStringsValores ceroConstantesConvenciones de nomenclaturaResumen - Variables y tipos5Entrada y salida básica
Salida con formatoVerbos de formatoImpresión de tiposObtener entrada básica del usuarioResumen: Entrada y salida8Funciones
Comprendiendo las funcionesDeclaración de una funciónLlamada a funcionesParámetros de funciónRetorno de un solo valorRetorno de múltiples valoresValores de retorno con nombreConceptos básicos del alcance de las funcionesResumen: Creando código reutilizable3Operadores básicos
Operadores aritméticosOperador de divisiónEl operador móduloOperador de asignaciónOperadores de asignación compuestaIncremento y decrementoResumen - Cálculos6Flujo de control: Condicionales
La sentencia `if`La palabra clave `else`La palabra clave `else if`Sombreado de variables en `if`Inicialización de variablesLa sentencia `switch``switch` con expresiones`switch` sin expresiónLa palabra clave `fallthrough`Resumen: Toma de decisiones