「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Go言語ランドパッケージで真の乱数を生成するためのヒント

Go言語ランドパッケージで真の乱数を生成するためのヒント

2025-04-14に投稿されました
ブラウズ:122

How to Generate Truly Random Numbers with Go's Rand Package?

トラブルシューティングのトラブルシューティングランドパッケージのGOでの乱数生成関数が呼び出されるたびに、真にランダムな結果を得る方法はありますか?プログラムが実行されるたびに、PRNGは「シード」として知られる固定された初期値に基づいて同じ数値シーケンスを生成します。一般的なアプローチの1つは、現在の時間をナノ秒で使用することです。これは、プログラムが実行されるたびに変更されます。これは、次のコードを使用して実行できます。 func main(){ rand.seed(time.now()。unixnano()) fmt.println(rand.int31n(100)) }

あるいは、暗号/RANDパッケージは、より安全なランダム性のソースを提供します。マウスの動き、プロセッサ温度、キーボード入力など、さまざまなシステムソースからエントロピーを収集します。ただし、そのパフォーマンスはRANDパッケージに比べて遅くなる可能性があります。 ユニークな種子を設定するか、暗号/RANDパッケージを利用することにより、rand.int31n関数が呼び出されるたびに真の乱数を生成することを確認できます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3