Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk menjana nombor rawak dalam fungsi Golang lambda?

Bagaimana untuk menjana nombor rawak dalam fungsi Golang lambda?

WBOY
WBOYasal
2024-06-05 12:22:56355semak imbas

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).

如何在 Golang lambda 函数中生成随机数?

Bagaimana untuk menjana nombor rawak dalam fungsi Golang lambda?

Bahasa Golang mempunyai pustaka penjanaan nombor rawak terbina dalam matematik/rand. Menggunakan perpustakaan ini kita boleh menjana nombor rawak dengan mudah dalam fungsi 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)

🎜Pasang dan sediakan🎜🎜🎜Mula-mula, import pustaka 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn