paquete de rand en Golang

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *