Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk menjana nombor rawak dalam fungsi Golang lambda?
Untuk menjana nombor rawak dalam fungsi Go lambda, anda perlu menggunakan perpustakaan matematik/rand: import perpustakaan dan tetapkan benih untuk memastikan output yang berbeza. Gunakan rand.Intn(maks) untuk menjana integer rawak (julat [0,maks)). Gunakan rand.Float64() untuk menjana perpuluhan rawak (julat [0.0,1.0)). Gunakan rand.ReadStringN(n) untuk menjana rentetan rawak (panjang n).
Bagaimana untuk menjana nombor rawak dalam fungsi Golang lambda?
Bahasa Golang mempunyai pustaka penjanaan nombor rawak terbina dalam 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🎜Bahagian time.Now().UnixNano()
digunakan untuk menjana benih, pastikan Terdapat output yang berbeza setiap kali nombor rawak dijana. 🎜🎜🎜Jana integer rawak🎜🎜🎜Anda boleh menggunakan fungsi rand.Intn(max)
untuk menjana integer rawak dalam julat [0, max)
, di mana max
menentukan had atas. 🎜rrreee🎜🎜Jana perpuluhan rawak🎜🎜🎜 Anda boleh menggunakan fungsi rand.Float64()
untuk menjana perpuluhan rawak dalam julat [0.0, 1.0)
. 🎜rrreee🎜🎜Jana rentetan rawak🎜🎜🎜Anda boleh menggunakan fungsi rand.ReadStringN(n)
untuk menjana rentetan rawak panjang n
. 🎜rrreee🎜🎜Kes praktikal🎜🎜🎜Berikut ialah contoh mudah menggunakan perpustakaan math/rand
untuk menjana nombor rawak dalam fungsi lambda Golang: 🎜rrreee🎜Fungsi lambda ini akan menjana nilai antara Integer rawak dalam julat [0, 10)
dan output ke log fungsi. 🎜Atas ialah kandungan terperinci Bagaimana untuk menjana nombor rawak dalam fungsi Golang lambda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!