はじめに
go言語でランダムな数値を出力させる
コード
package main import "math/rand" import "time" import "fmt" func main() { rand.Seed(time.Now().Unix()) for i := 1; i <= 10; i++ { fmt.Println(rand.Intn(10)) } }
結果
darkenergy:tmp sumito$ go run random.go 4 6 3 1 7 9 3 3 1 8 darkenergy:tmp sumito$
内訳
rand.Intnは、randパッケージに新しい乱数を生成するとき、同じ初期化 rand.NewSource(1) を使っている。 これをUnixtimeをシードとしてあたえる事で、異なる乱数を出す事ができる。
参考情報
https://qiita.com/makiuchi-d/items/9c4af327bc8502cdcdce http://www9.plala.or.jp/sgwr-t/lib/srand.html
golang の新書