AD

¿Ya dominas lo básico? Un curso estructurado de Go es la vía rápida para dar el salto.

Ver cursos de Go en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐹Lecciones de Go
Lección 56 / 68

Esperar un tiempo fijo (time.Sleep)

En esta lección harás que el programa se detenga un momento.

time.Sleep(1 * time.Second) detiene la goroutine actual. Fíjate en que la duración se escribe multiplicando por una unidad, no con un número suelto.

El código de ejemplo imprime un mensaje, espera un segundo y muestra el siguiente.

Ese time.Second es un tipo propio, time.Duration, y el compilador impide pasar un número sin unidad. Es un buen ejemplo del uso de tipos para evitar errores: en otros lenguajes, sleep(1) puede significar un segundo o un milisegundo según la función, y aquí la ambigüedad no existe.

En Go, además, Sleep bloquea solo la goroutine actual, no el programa entero: las demás siguen funcionando. Para esperar a que ocurra algo, sin embargo, lo idiomático no es dormir en un bucle sino usar canales y select.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Go directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)