Open1

1から16の間の数を乱数で取得する

SpiegelSpiegel

コードはこんな感じ。

package main

import (
    "fmt"
    "math/rand"

    "github.com/goark/mt/secure"
)

func main() {
    fmt.Println(rand.New(secure.Source{}).Intn(16) + 1)
}

これはこのまま Go Playground で実行できる。

実は secure.Source{}crypto/randmath/rand のソースとして使うためのラッパーである。

https://zenn.dev/spiegel/articles/20211016-crypt-rand-as-a-math-rand

なので Go Playground で実行しても毎回違う値で出力してくれる。なんでもとっておくものである。

なんで1から16の間の数を乱数で取得したいかというと Bluesky で遊べるビンゴゲーム の最初の値を決めるのが面倒くさくなったから。そこでスクリプトを組むんじゃなくて Go で書いて Playground で実行というのが私らしいが(笑)