Bagaimana untuk menjana nombor rawak dalam fungsi Golang lambda?

WBOY
Lepaskan: 2024-06-05 12:22:56
asal
334 orang telah melayarinya

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"
)
Salin selepas log masuk

time.Now().UnixNano() 部分用于生成种子,确保每次生成随机数时都有不同的输出。

生成随机整数

可以使用 rand.Intn(max) 函数生成一个介于 [0, max) 范围内的随机整数,其中 max 指定了上限。

max := 10
num := rand.Intn(max)
fmt.Println(num) // 输出一个介于 [0, 10) 范围内的随机整数
Salin selepas log masuk

生成随机小数

可以使用 rand.Float64() 函数生成一个介于 [0.0, 1.0) 范围内的随机小数。

num := rand.Float64()
fmt.Println(num) // 输出一个介于 [0.0, 1.0) 范围内的随机小数
Salin selepas log masuk

生成随机字符串

可以使用 rand.ReadStringN(n) 函数生成一个长度为 n 的随机字符串。

length := 10
str := make([]byte, length)
rand.ReadStringN(len(str), str)
fmt.Println(string(str)) // 输出一个 10 个字符长的随机字符串
Salin selepas log masuk

实战案例

以下是一个使用 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)
}
Salin selepas log masuk

这个 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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!