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 53 / 68

Generar números aleatorios

En esta lección obtendrás números al azar.

rand.Intn(6) devuelve un número entre 0 y 5, así que sumando 1 se simula un dado.

El código de ejemplo tira un dado y elige una jugada. La salida cambia cada vez que se ejecuta, así que lo que ves aquí es solo un ejemplo de una tirada concreta.

Un cambio importante que conviene conocer: hasta Go 1.20 había que sembrar el generador a mano con rand.Seed(time.Now().UnixNano()), y olvidarlo hacía que el programa diera siempre la misma secuencia. Desde Go 1.20 se siembra solo, y rand.Seed quedó obsoleto. Verás ambas formas en código existente.

Y el aviso de siempre: math/rand no sirve para nada relacionado con seguridad. Es predecible. Para tokens, contraseñas o identificadores que no deban adivinarse se usa crypto/rand, que es un paquete distinto con el mismo nombre corto — una confusión que ha causado problemas reales.

📖 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)