Maison > développement back-end > Golang > Comment simuler en utilisant des nombres aléatoires dans Golang ?

Comment simuler en utilisant des nombres aléatoires dans Golang ?

PHPz
Libérer: 2024-06-06 13:16:57
original
561 Les gens l'ont consulté

Utilisez le package math/rand pour la simulation de nombres aléatoires : importez le package math/rand. Utilisez time.Now().UnixNano() pour initialiser le générateur de nombres aléatoires. Utilisez rand.Intn(n) pour générer un entier aléatoire compris entre 0 et n-1. Utilisez rand.Float64() pour générer un nombre à virgule flottante compris entre 0 et 1.

如何在 Golang 中使用随机数进行模拟?

Comment simuler à l'aide de nombres aléatoires dans Golang

La simulation à l'aide de nombres aléatoires est une tâche courante dans Golang, qui peut être utilisée pour créer diverses applications et algorithmes, tels que l'intelligence artificielle dans les jeux ou les simulations informatiques Modélisation de la vie réelle événements.

Utilisation du package math/rand

Golang fournit un package intégré appelé math/rand qui fournit toutes les fonctionnalités nécessaires pour générer des nombres aléatoires. Pour l'utiliser, importez le package dans votre programme : math/rand 的内置包,它提供了生成随机数所需的所有功能。要使用它,请将包导入你的程序:

import (
    "math/rand"
    "time"
)
Copier après la connexion

初始化随机数生成器

在生成随机数之前,我们必须先初始化随机数生成器。推荐使用 time.Now().UnixNano() 作为随机数种子,它可以确保每次程序执行时生成不同的随机数序列:

rand.Seed(time.Now().UnixNano())
Copier après la connexion

生成随机数

现在我们可以生成随机数了。rand.Intn(n) 函数可生成一个 0 到 n-1 之间的随机整数(不包括 n)。例如,要生成一个 0 到 100 之间的随机整数,可以使用:

num := rand.Intn(100)
Copier après la connexion

rand.Float64()

prob := rand.Float64()
Copier après la connexion

Initialisez le générateur de nombres aléatoires

Avant de générer des nombres aléatoires, nous devons d'abord initialiser le générateur de nombres aléatoires. Il est recommandé d'utiliser time.Now().UnixNano() comme graine de nombres aléatoires, ce qui peut garantir qu'une séquence de nombres aléatoires différente est générée à chaque fois que le programme est exécuté :

package main

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {
    rand.Seed(time.Now().UnixNano())

    for i := 0; i < 10; i++ {
        num := rand.Intn(6) + 1
        fmt.Printf("掷出 %d\n", num)
    }
}
Copier après la connexion
Générer des nombres aléatoires nombres

Maintenant, nous pouvons générer Le nombre est aléatoire. La fonction rand.Intn(n) génère un entier aléatoire compris entre 0 et n-1 (hors n). Par exemple, pour générer un entier aléatoire entre 0 et 100, vous pouvez utiliser : 🎜rrreee🎜rand.Float64() La fonction peut générer un nombre à virgule flottante entre 0 et 1 : 🎜rrreee🎜Cas pratique : Simuler un lancer de dés 🎜🎜 Créons un programme simple pour simuler le processus de lancement de dés : 🎜rrreee🎜 L'exécution de ce programme générera une séquence de nombres aléatoires allant de 1 à 6, simulant le processus de lancement de dés. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal