Estoy tratando de generar números aleatorios (enteros) en Go, inútilmente. Encontré el paquete rand
en crypto/rand
, que parece ser lo que quiero, pero no puedo decir de la documentación cómo usarlo. Esto es lo que estoy tratando en este momento:Generando Números Aleatorios en Go
b := []byte{}
something, err := rand.Read(b)
fmt.Printf("something = %v\n", something)
fmt.Printf("err = %v\n", err)
Pero, por desgracia esto siempre da salida:
something = 0
err = <nil>
¿Hay una manera de solucionar este problema por lo que en realidad genera números aleatorios? Alternativamente, ¿hay alguna manera de establecer el límite superior en los números aleatorios que esto genera?
yo esperaría que la rutina para llenar la matriz 'B' con bytes aleatorios, sin embargo muchos que pidió. – sarnold
Yo también: soy nuevo en Go y no estoy familiarizado con las convenciones de llamadas o similares. –
Va a llenar 'b', sin embargo,' b' es una porción vacía (y la matriz de respaldo tiene el tamaño 0). Entonces rand.Read() no tiene espacio para almacenar nada, y devuelve 0 en su variable 'something' que indica que no se almacenó nada. 'b: = make ([] byte, 4)' hubiera sido más apropiado, permitiendo rand.Leer para almacenar 4 bytes en b – nos