Pour générer des nombres aléatoires dans une fonction Go lambda, vous devez utiliser la bibliothèque math/rand : importez la bibliothèque et définissez la graine pour garantir des sorties différentes. Utilisez rand.Intn(max) pour générer un entier aléatoire (plage [0,max)). Utilisez rand.Float64() pour générer une décimale aléatoire (plage [0.0,1.0)). Utilisez rand.ReadStringN(n) pour générer une chaîne aléatoire (de longueur n).
Comment générer des nombres aléatoires dans la fonction lambda Golang ?
Le langage Golang intègre une puissante bibliothèque de génération de nombres aléatoires math/rand
. En utilisant cette bibliothèque, nous pouvons facilement générer des nombres aléatoires dans les fonctions lambda. 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🎜La partie time.Now().UnixNano()
est utilisée pour générer graines, assurez-vous qu'il y a une sortie différente à chaque fois qu'un nombre aléatoire est généré. 🎜🎜🎜Générer des entiers aléatoires🎜🎜🎜Vous pouvez utiliser la fonction rand.Intn(max)
pour générer un entier aléatoire dans la plage de [0, max)
, où max
spécifie la limite supérieure. 🎜rrreee🎜🎜Générer des décimales aléatoires🎜🎜🎜 Vous pouvez utiliser la fonction rand.Float64()
pour générer une décimale aléatoire dans la plage de [0.0, 1.0)
. 🎜rrreee🎜🎜Générer une chaîne aléatoire🎜🎜🎜Vous pouvez utiliser la fonction rand.ReadStringN(n)
pour générer une chaîne aléatoire de longueur n
. 🎜rrreee🎜🎜Cas pratique🎜🎜🎜Ce qui suit est un exemple simple d'utilisation de la bibliothèque math/rand
pour générer des nombres aléatoires dans une fonction lambda Golang : 🎜rrreee🎜Cette fonction lambda générera une valeur entre Un entier aléatoire dans la plage [0, 10)
et affiché dans le journal des fonctions. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!