乱数シミュレーションに math/rand パッケージを使用する: math/rand パッケージをインポートします。 time.Now().UnixNano() を使用して乱数ジェネレーターを初期化します。 rand.Intn(n) を使用して、0 から n-1 までのランダムな整数を生成します。 rand.Float64() を使用して、0 から 1 までの浮動小数点数を生成します。
乱数を使用したシミュレーションは Golang の一般的なタスクであり、ゲームやコンピューター シミュレーションの人工知能など、さまざまなアプリケーションやアルゴリズムの作成に使用できます。イベント。
Golang には、乱数の生成に必要なすべての機能を提供する math/rand
という組み込みパッケージが用意されています。これを使用するには、パッケージをプログラムにインポートします。 math/rand
的内置包,它提供了生成随机数所需的所有功能。要使用它,请将包导入你的程序:
import ( "math/rand" "time" )
在生成随机数之前,我们必须先初始化随机数生成器。推荐使用 time.Now().UnixNano()
作为随机数种子,它可以确保每次程序执行时生成不同的随机数序列:
rand.Seed(time.Now().UnixNano())
现在我们可以生成随机数了。rand.Intn(n)
函数可生成一个 0 到 n-1 之间的随机整数(不包括 n)。例如,要生成一个 0 到 100 之间的随机整数,可以使用:
num := rand.Intn(100)
rand.Float64()
prob := rand.Float64()乱数ジェネレーターを初期化する乱数を生成する前に、まず乱数ジェネレーターを初期化する必要があります。乱数シードとして
time.Now().UnixNano()
を使用することをお勧めします。これにより、プログラムが実行されるたびに異なる乱数シーケンスが確実に生成されます。数値これで、乱数を生成できるようになりました。 rand.Intn(n)
関数は、0 ~ n-1 (n を除く) のランダムな整数を生成します。たとえば、0 から 100 までのランダムな整数を生成するには、次のように使用できます: 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) } }
rand.Float64()
この関数は、0 から 1 までの浮動小数点数を生成できます: 🎜rrreee🎜実用的なケース: サイコロを振るシミュレーション 🎜🎜 サイコロを振るプロセスをシミュレートする簡単なプログラムを作成しましょう: 🎜rrreee🎜 このプログラムを実行すると、1 から 6 までの一連の乱数が生成され、サイコロを振るプロセスをシミュレートします。 🎜以上がGolang で乱数を使用してシミュレーションするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。