El lenguaje Go brinda soporte incorporado para generar números aleatorios del tipo especificado con la ayuda de un paquete matemático/rand. Este paquete implementa generadores de números pseudoaleatorios. Estos números aleatorios son generados por una fuente y esta fuente produce una secuencia determinista de valores cada vez que se ejecuta el programa. Y si desea números aleatorios para trabajos sensibles a la seguridad, utilice el paquete crypto/rand.
Nota: En este paquete, se utiliza la notación de intervalos matemáticos como [0, n).
Función | Descripción |
---|---|
ExpFloat64 | Esta función devuelve un float64 distribuido exponencialmente en el rango (0, +math.MaxFloat64] con una distribución exponencial de la fuente predeterminada. |
Flotador32 | Esta función devuelve, como float32, un número pseudoaleatorio en [0.0, 1.0) de la fuente predeterminada. |
flotar64 | Esta función devuelve, como float64, un número pseudoaleatorio en [0.0, 1.0) de la fuente predeterminada. |
En t | Esta función devuelve un int pseudoaleatorio no negativo de la fuente predeterminada. |
Int31 | Esta función devuelve un entero pseudoaleatorio de 31 bits no negativo como un int32 de la fuente predeterminada. |
Int31n | Esta función devuelve, como int32, un número pseudoaleatorio no negativo en [0, n) de la fuente predeterminada. |
Int63 | Esta función devuelve un entero pseudoaleatorio de 63 bits no negativo como un int64 de la fuente predeterminada. |
int63n | Esta función devuelve, como int64, un número pseudoaleatorio no negativo en [0, n) de la fuente predeterminada. |
interno | Esta función devuelve, como un int, un número pseudoaleatorio no negativo en [0, n) de la fuente predeterminada. |
NormFloat64 | Esta función devuelve un float64 normalmente distribuido en el rango [-math.MaxFloat64, +math.MaxFloat64] con distribución normal estándar (media = 0, stddev = 1) de la fuente predeterminada. |
Permanente | Esta función devuelve, como una porción de n enteros, una permutación pseudoaleatoria de los enteros [0, n) de la fuente predeterminada. |
Leer | Esta función genera bytes aleatorios len(p) desde la fuente predeterminada y los escribe en p. |
Semilla | Esta función proporcionó un valor semilla para inicializar la fuente predeterminada a un estado determinista y si no se llama a Seed, el generador se comporta como si hubiera sido sembrado por Seed(1). |
Barajar | Esta función pseudoaleatoriza el orden de los elementos utilizando la fuente predeterminada. |
Uint32 | Esta función devuelve un valor pseudoaleatorio de 32 bits como un uint32 de la fuente predeterminada. |
Uint64 | Esta función devuelve un valor pseudoaleatorio de 64 bits como un uint64 de la fuente predeterminada. |
escriba Rand
Método | Descripción |
---|---|
función Nuevo | Esta función devuelve un nuevo Rand que usa valores aleatorios de src para generar otros valores aleatorios. |
función (*Rand) ExpFloat64 | Este método se usa para devolver un float64 distribuido exponencialmente en el rango (0, +math.MaxFloat64] con una distribución exponencial. |
función (*Rand) Float32 | Este método devuelve, como float32, un número pseudoaleatorio en [0.0, 1.0). |
función (*Rand) Float64 | Este método devuelve, como float64, un número pseudoaleatorio en [0.0, 1.0). |
función (*Rand) Int | Este método devuelve un int pseudoaleatorio no negativo. |
función (*Rand) Int31 | Este método devuelve un entero pseudoaleatorio no negativo de 31 bits como un int32. |
función (*Rand) Int31n | Este método devuelve, como int32, un número pseudoaleatorio no negativo en [0, n). |
función (*Rand) Int63 | Este método devuelve un entero pseudoaleatorio no negativo de 63 bits como un int64. |
función (*Rand) Int63n | Este método devuelve, como int64, un número pseudoaleatorio no negativo en [0, n). |
función (*Rand) Interno | Este método devuelve, como un int, un número pseudoaleatorio no negativo en [0, n). |
función (*Rand) NormFloat64 | Este método se usa para devolver un float64 distribuido normalmente en el rango -math.MaxFloat64 a +math.MaxFloat64 inclusive, con distribución normal estándar (media = 0, stddev = 1). |
func (*Rand) Permanente | Este método devuelve, como una porción de n enteros, una permutación pseudoaleatoria de los enteros [0, n). |
func (*Rand) Leer | Este método genera bytes aleatorios len(p) y los escribe en p. |
func (*Rand) Semilla | Este método proporcionó valor semilla para inicializar el generador a un estado determinista. |
func (*Rand) Aleatorio | Este método pseudoaleatoriza el orden de los elementos. |
función (*Rand) Uint32 | Este método devuelve un valor pseudoaleatorio de 32 bits como uint32. |
función (*Rand) Uint64 | Este método devuelve un valor pseudoaleatorio de 64 bits como uint64. |
tipo Fuente
Método | Descripción |
---|---|
func NewSource | Esta función devuelve una nueva Fuente pseudoaleatoria sembrada con el valor dado. |
escriba Fuente64 | Es una fuente que también puede generar valores uint64 pseudoaleatorios distribuidos uniformemente en el rango [0, 1<<64) directamente. Si el Source s subyacente de Rand r implementa Source64, entonces r.Uint64 devuelve el resultado de una llamada a s.Uint64 en lugar de realizar dos llamadas a s.Int63. |
escriba Zipf
Método | Descripción |
---|---|
función NewZipf | Esta función devuelve un generador de variables Zipf. |
función (*Zipf) Uint64 | Este método devuelve un valor extraído de la distribución Zipf descrita por el objeto Zipf. |
Ejemplo 1:
// Golang program to illustrate // how to Get Intn Type Random // Number package main import ( "fmt" "math/rand" ) // Main function func main() { // Finding random numbers of int type // Using Intn() function res_1 := rand.Intn(7) res_2 := rand.Intn(8) res_3 := rand.Intn(2) // Displaying the result fmt.Println("Random Number 1: ", res_1) fmt.Println("Random Number 2: ", res_2) fmt.Println("Random Number 3: ", res_3) }
Producción:
Random Number 1: 6 Random Number 2: 7 Random Number 3: 1
Ejemplo 2:
// Golang program to illustrate // how to get a random number package main import ( "fmt" "math/rand" ) // Main function func main() { // Finding random numbers of int type // Using Int31() function res_1 := rand.Int31() res_2 := rand.Int31() res_3 := rand.Int31() // Displaying the result fmt.Println("Random Number 1: ", res_1) fmt.Println("Random Number 2: ", res_2) fmt.Println("Random Number 3: ", res_3) }
Producción:
Random Number 1: 1298498081 Random Number 2: 2019727887 Random Number 3: 1427131847
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA