Golang で乱数を生成するには?

Go言語では、math/randパッケージを使用して乱数を生成できます。以下に簡単な例を示します。

package main

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

func main() {
	// 设置随机数种子
	rand.Seed(time.Now().UnixNano())

	// 生成一个范围在0到100之间的随机整数
	randomInt := rand.Intn(101)
	fmt.Println(randomInt)

	// 生成一个范围在0到1之间的随机浮点数
	randomFloat := rand.Float64()
	fmt.Println(randomFloat)
}

上記のサンプルでは、最初にrand.Seed()関数を使って乱数のシード値を設定し、time.Now().UnixNano()を用いて現在時刻をナノ秒単位で取得することで、毎回実行時に異なる乱数列を生み出すようにしています。

次に、ランダムな数値を100以下に発行する`rand.Intn()`関数を使い、`fmt.Println()`関数で発行しました。

次に、rand.Float64() 関数を使用して 0 から 1 までの範囲のランダム浮動小数点数を生成し、同じ fmt.Println() 関数を使用してこれをプリントします。

上記のコードを実行すると、次のような出力が得られます。

87
0.7853981633974483
bannerAds