[Golang]配列(array)のランダムな要素を取得するには?

Go

どうも、ちょげ(@chogetarou)です。

配列(array)の要素をランダムに取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列(array)のランダムな要素を取得するには、rand.Intn()を使います。

まず、「math/rand」をインポートします。

import "math/rand"

次に、randからIntn()を呼び出します。

rand.Intn()の引数に、len()を指定します。

len()の引数に配列(array)を指定します。

そして、配列(array)のrand.Intn()で生成したインデックスにアクセスします。

//arr=対象の配列
index := rand.Intn(len(arr))
result := arr[index]

上記のrand.Intn()で取得したインデックスにアクセスすることで、配列(array)のランダムな要素を取得できす。

使用例

package main

import (
	"fmt"
	"math/rand"
)

func getRandom(x []string) string {
	index := rand.Intn(len(x))
	return x[index]
}

func main() {
	numbers := [6]string{"one", "two", "three", "four", "five", "six"}

	for i := 0; i < 5; i++ {
		fmt.Println(getRandom(numbers[:]))
	}
}
出力:
six
four
six
six
two

コメント

タイトルとURLをコピーしました