Go ラムダ関数で乱数を生成するには、math/rand ライブラリを使用する必要があります。ライブラリをインポートし、シードを設定して、異なる出力を確保します。 rand.Intn(max) を使用して、ランダムな整数 (範囲 [0,max)] を生成します。 rand.Float64() を使用して、ランダムな 10 進数 (範囲 [0.0,1.0)] を生成します。 rand.ReadStringN(n) を使用して、ランダムな文字列 (長さ n) を生成します。
Golangのラムダ関数で乱数を生成するにはどうすればよいですか?
Golang 言語には、強力な乱数生成ライブラリ math/rand
が組み込まれています。このライブラリを使用すると、ラムダ関数で乱数を簡単に生成できます。 math/rand
。利用这个库,我们可以轻松地在 lambda 函数中生成随机数。
安装并设置
首先,导入 math/rand
库:
import ( "math/rand" "time" )
time.Now().UnixNano()
部分用于生成种子,确保每次生成随机数时都有不同的输出。
生成随机整数
可以使用 rand.Intn(max)
函数生成一个介于 [0, max)
范围内的随机整数,其中 max
指定了上限。
max := 10 num := rand.Intn(max) fmt.Println(num) // 输出一个介于 [0, 10) 范围内的随机整数
生成随机小数
可以使用 rand.Float64()
函数生成一个介于 [0.0, 1.0)
范围内的随机小数。
num := rand.Float64() fmt.Println(num) // 输出一个介于 [0.0, 1.0) 范围内的随机小数
生成随机字符串
可以使用 rand.ReadStringN(n)
函数生成一个长度为 n
的随机字符串。
length := 10 str := make([]byte, length) rand.ReadStringN(len(str), str) fmt.Println(string(str)) // 输出一个 10 个字符长的随机字符串
实战案例
以下是一个使用 math/rand
库在 Golang lambda 函数中生成随机数的简单示例:
package main import ( "context" "encoding/json" "fmt" "log" "math/rand" "time" "github.com/aws/aws-lambda-go/lambda" ) func handler(ctx context.Context, req []byte) (int, error) { rand.Seed(time.Now().UnixNano()) return rand.Intn(10), nil } func main() { lambda.Start(handler) }
这个 lambda 函数会生成一个介于 [0, 10)
math/rand
ライブラリをインポートします: 🎜rrreee🎜 time.Now().UnixNano()
部分は生成に使用されます。シード、乱数が生成されるたびに異なる出力があることを確認してください。 🎜🎜🎜ランダムな整数を生成する🎜🎜🎜 rand.Intn(max)
関数を使用すると、[0, max)
の範囲内でランダムな整数を生成できます。 max
は上限を指定します。 🎜rrreee🎜🎜ランダムな小数を生成する🎜🎜🎜 rand.Float64()
関数を使用して、[0.0, 1.0)
の範囲内のランダムな小数を生成できます。 🎜rrreee🎜🎜ランダムな文字列を生成する🎜🎜🎜 rand.ReadStringN(n)
関数を使用して、長さ n
のランダムな文字列を生成できます。 🎜rrreee🎜🎜実際的なケース🎜🎜🎜 以下は、math/rand
ライブラリを使用して Golang ラムダ関数で乱数を生成する簡単な例です: 🎜rrreee🎜このラムダ関数は、以下の値を生成します。 範囲 [0, 10)
のランダムな整数であり、関数ログに出力されます。 🎜以上がGolangのラムダ関数で乱数を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。