ベストアンサー1
2つの理由:
グローバルを初期化する必要があります
Source
によって使われたrand.Intn()
パッケージの他の機能rand
を使用するrand.Seed()
。 例えば:rand.Seed(time.Now().UnixNano())
重複している可能性のあるものを見るGo Randパッケージの難しさ
パッケージドキュメントから引用rand
:Float64やIntなどのトップレベル関数は、デフォルトの共有ソースを使用します。プログラムが実行されるたびに、決定論的な値のシーケンスを生成します。実行ごとに異なる動作が必要な場合は、Seed 関数を使用してデフォルトの Source を初期化します。
の旅行例を実行する遊び場に行く出力をキャッシュします。
詳細はGolang で count++ (count = count + 1 ではなく) を使用するとマップの返される方法が変わるのはなぜですか?。