ホームページ  >  記事  >  バックエンド開発  >  クイック スタート: Go 言語関数を使用した乱数ジェネレーターの実装

クイック スタート: Go 言語関数を使用した乱数ジェネレーターの実装

PHPz
PHPzオリジナル
2023-08-02 16:52:521202ブラウズ

クイック スタート: Go 言語関数を使用した乱数ジェネレーターの実装

乱数ジェネレーターはコンピューター プログラムで一般的に使用される関数の 1 つであり、乱数は多くのアプリケーション シナリオで使用する必要があります。 Go 言語には、非常に使いやすい組み込みの乱数生成ライブラリが用意されています。この記事では、Go 言語関数を使用して単純な乱数ジェネレーターを実装する方法を紹介し、読者の参考として対応するコード例を提供します。

まず、擬似乱数を生成する関数を提供する Go 言語の math/rand パッケージをインポートする必要があります。同時に、ランダム シードを生成する機能を提供する time パッケージもインポートする必要があります。

コード例は次のとおりです:

package main

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

func main() {
    // 生成随机种子
    rand.Seed(time.Now().Unix())

    // 生成一个随机整数
    randomInt := rand.Int()
    fmt.Println("随机整数:", randomInt)

    // 生成一个指定范围内的随机整数
    randomRangeInt := rand.Intn(100)
    fmt.Println("范围内随机整数:", randomRangeInt)

    // 生成一个随机浮点数
    randomFloat := rand.Float64()
    fmt.Println("随机浮点数:", randomFloat)

    // 生成一个指定范围内的随机浮点数
    randomRangeFloat := rand.Float64() * 100
    fmt.Println("范围内随机浮点数:", randomRangeFloat)
}

上記のプログラムを実行すると、次の出力が得られます:

随机整数: 5577006791947779410
范围内随机整数: 49
随机浮点数: 0.6645600532184904
范围内随机浮点数: 58.60165799245045

上記のコードでは、最初に を使用します。 rand.Seed( )関数はランダム シードを生成します。このランダム シードは現在時刻に基づいて生成され、プログラムが実行されるたびに異なる乱数シーケンスを取得できるようになります。次に、rand.Int() 関数を使用してランダムな整数を生成し、rand.Intn() 関数を使用して指定された範囲内のランダムな整数を生成し、 rand .Float64() 関数はランダムな浮動小数点数を生成し、rand.Float64() * 100 を使用して指定された範囲内のランダムな浮動小数点数を生成します。

上記のコードでは、Go 言語のデフォルトの乱数ジェネレーターのみを使用していることに注意してください。このジェネレーターは擬似乱数ジェネレーターであり、実際に真の乱数を生成することはできません。より高品質の乱数が必要な場合は、より複雑なアルゴリズムと機器を使用する必要があります。

概要:

この記事では、Go 言語関数を使用して単純な乱数ジェネレーターを実装する方法を紹介します。 math/rand パッケージの関数を使用すると、生成範囲を指定しながら、ランダムな整数とランダムな浮動小数点数を簡単に生成できます。この記事が Go 言語を使用した乱数ジェネレーターの実装に役立つことを願っています。

以上がクイック スタート: Go 言語関数を使用した乱数ジェネレーターの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。