golangで非反復乱数を生成する方法
Go の math/rand パッケージは、乱数を生成するための API を提供します。重要な API は次のとおりです:
// 该函数设置随机种子 // 若不调用此函数设置随机种子,则默认的种子值为1,由于随机算法是固定的, // 如果每次都以1作为随机种子开始产生随机数,则结果都是一样的,因此一般 // 都需要调用此函数来设置随机种子,通常的做法是以当前时间作为随机种子 // 以保证每次随机种子都不同,从而产生的随机数也不通 // 该函数协程安全 func Seed(seed int64) // 以下函数用来生成相应数据类型的随机数,带n的版本则生成[0,n)的随机数。 // 注意生成的随机数都是非负数 func Float32() float32 func Float64() float64 func Int() int func Int31() int32 // 注意该函数只返回int32表示范围内的非负数,位数为31,因此该函数叫做Int31 func Int31n(n int32) int32 func Int63() int64 func Int63n(n int64) int64 func Intn(n int) int func Uint32() uint32 func Uint64() uint64 // 另外,rand包还提供了一个类,接口和上面的大致相同: type Rand struct { // ... } // 创建一个以seed为种子的源,注意该源不是协程安全的 func NewSource(seed int64) Source // 以src为源创建随机对象 func New(src Source) *Rand // 设置或重置种子,注意该函数不是协程安全的 func (r *Rand) Seed(seed int64) // 下面的函数和全局版本的函数功能一样 func (r *Rand) Float32() float32 func (r *Rand) Float64() float64 func (r *Rand) Int() int func (r *Rand) Int31() int32 func (r *Rand) Int31n(n int32) int32 func (r *Rand) Int63() int64 func (r *Rand) Int63n(n int64) int64 func (r *Rand) Intn(n int) int func (r *Rand) Uint32() uint32 func (r *Rand) Uint64() uint64
乱数を生成するときは、現在時刻をランダム シードとして使用します。タイム パッケージを使用して現在時刻を生成することもできます:
// 返回当前时间 func Now() Time // 为了将Time类型转换为int64类型以作为随机种子 // 可以使用如下两个函数: // 返回从1970年1月1日到t的秒数 func (t Time) Unix() int64 // 返回从1970年1月1日到t的纳秒数 func (t Time) UnixNano() int64
例:
package main import ( "fmt" "math/rand" "time" ) func main() { // // 全局函数 // rand.Seed(time.Now().Unix()) fmt.Println(rand.Int()) // int随机值,返回值为int fmt.Println(rand.Intn(100)) // [0,100)的随机值,返回值为int fmt.Println(rand.Int31()) // 31位int随机值,返回值为int32 fmt.Println(rand.Int31n(100)) // [0,100)的随机值,返回值为int32 fmt.Println(rand.Float32()) // 32位float随机值,返回值为float32 fmt.Println(rand.Float64()) // 64位float随机值,返回值为float64 // 如果要产生负数到正数的随机值,只需要将生成的随机数减去相应数值即可 fmt.Println(rand.Intn(100) - 50) // [-50, 50)的随机值 // // Rand对象 // r := rand.New(rand.NewSource(time.Now().Unix())) fmt.Println(r.Int()) // int随机值,返回值为int fmt.Println(r.Intn(100)) // [0,100)的随机值,返回值为int fmt.Println(r.Int31()) // 31位int随机值,返回值为int32 fmt.Println(r.Int31n(100)) // [0,100)的随机值,返回值为int32 fmt.Println(r.Float32()) // 32位float随机值,返回值为float32 fmt.Println(r.Float64()) // 64位float随机值,返回值为float64 // 如果要产生负数到正数的随机值,只需要将生成的随机数减去相应数值即可 fmt.Println(r.Intn(100) - 50) // [-50, 50)的随机值 }
以上がgolangで非反復乱数を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









RANDBETWEEN を使用して Excel で乱数を生成する方法 特定の範囲内の乱数を生成したい場合は、RANDBETWEEN 関数を使用すると手早く簡単に実行できます。これにより、選択した 2 つの値の間でランダムな整数を生成できます。 RANDBETWEEN を使用して Excel で乱数を生成する: 最初の乱数を表示するセルをクリックします。 =RANDBETWEEN(1,500) と入力し、「1」を生成する最小の乱数に置き換え、「500」を次の乱数に置き換えます。

Java 開発で乱数生成のパフォーマンスを最適化する方法 乱数は、コンピューター サイエンス、特に暗号化、シミュレーション、ゲームなどの分野で広く使用されています。 Java 開発では、さまざまなニーズを満たすために乱数を生成する必要があることがよくあります。ただし、乱数生成のパフォーマンスは開発者の懸念事項の 1 つであることがよくあります。この記事では、Java 開発における乱数生成のパフォーマンスを最適化する方法について説明します。 ThreadLocalRandom クラスは、ThreadLocalRandom クラスを使用して Java7 で導入されました。

PHP 配列を使用して乱数と検証コードを生成する方法 乱数と検証コードは、Web サイトやアプリケーションの開発中に非常に一般的です。 PHP には、乱数と検証コードを生成するためのさまざまな方法が用意されています。この記事では、PHP 配列を使用して乱数と検証コードを生成する方法を、対応するコード例とともに紹介します。 1. 乱数を生成する PHP では、rand() 関数を使用して乱数を生成できます。 rand() 関数には、最小値と最大値の 2 つのパラメータが必要です。サンプルコードは次のとおりです: $min=1;$max=

Go 言語を使用して乱数を生成する Go 言語は、乱数を生成するための組み込みライブラリを多数提供する、最新の簡潔かつ効率的なプログラミング言語です。その中で、crypto/rand パッケージは、安全な乱数を生成するための一連の関数を提供します。この記事では、crypto/rand パッケージの Read 関数を使用して乱数を生成します。まず、crypto/rand パッケージをインポートし、乱数を保存するバイト配列を作成する必要があります。コード例は次のとおりです。

乱数を生成する NumPy の方法と応用を探る はじめに: 乱数は、シミュレーション実験、データ生成、特徴選択など、コンピューター サイエンスや統計で広く使用されています。 Python の NumPy (NumericalPython) ライブラリは、乱数を生成するための多くの関数を提供する強力な数値計算ライブラリです。この記事では、NumPy での乱数生成方法を検討し、具体的なコード例を示します。 1. NumPyが提供するNumPyの乱数生成機能

Java で Random.nextInt() メソッドを使用して乱数を生成するにはどうすればよいですか?乱数はコンピューター サイエンスで広く使用されており、パスワード、ゲームのランダム イベント、データ サイエンスのランダム サンプリングなどの生成に使用できます。 Java には乱数を生成する Random クラスが用意されており、nextInt() メソッドを使用してランダムな整数を生成できます。以下では、Random.nextInt() メソッドを使用して乱数を生成する方法と、具体的なコード例を紹介します。まず必要なのは、

Golang で重複した乱数の生成を回避する方法: 新しい乱数ジェネレーター rand.New(rand.Source) を作成します。 rand.NewSource(time.Now().UnixNano()) をエントロピー ソースとして使用します。 rand.Intn(n) を使用してランダムな整数を生成します。

Java の Math.random() 関数を使用して乱数を生成する 乱数はコンピュータ プログラミングにおいて非常に一般的な概念であり、ランダムなパスワードの生成、宝くじの抽選、ゲームのランダム イベントなど、さまざまな関数の実装に役立ちます。 Java では、Math.random() 関数を使用して乱数を生成できます。 Math.random() 関数は Java 標準ライブラリの静的メソッドで、0 以上 1 未満のランダムな double 型の数値を返します。合格
