首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Go程序例子(59):随机数

Go程序例子(59):随机数

原创
作者头像
用户11078756
发布2025-01-17 11:03:51
发布2025-01-17 11:03:51
4570
举报
文章被收录于专栏:go程序例子go程序例子

Go的math/rand/v2包提供了伪随机数生成功能。

代码语言:javascript
复制
package main

import (
    "fmt"
    "math/rand/v2"
)

func main() {
		// 例如,rand.IntN返回一个随机整数n,其中0 <= n < 100。
    fmt.Print(rand.IntN(100), ",")
    fmt.Print(rand.IntN(100))
    fmt.Println()
		// rand.Float64返回一个浮点数f,其中0.0 <= f < 1.0。
    fmt.Println(rand.Float64())
		// 这可以用于生成其他范围内的随机浮点数,例如5.0 <= f' < 10.0。
    fmt.Print((rand.Float64()*5)+5, ",")
    fmt.Print((rand.Float64() * 5) + 5)
    fmt.Println()
		// 如果您想要一个已知的种子,可以创建一个新的rand.Source并将其传入New构造函数。NewPCG创建一个新的PCG源,它需要两个uint64数作为种子。
    s2 := rand.NewPCG(42, 1024)
    r2 := rand.New(s2)
    fmt.Print(r2.IntN(100), ",")
    fmt.Print(r2.IntN(100))
    fmt.Println()
		
    s3 := rand.NewPCG(42, 1024)
    r3 := rand.New(s3)
    fmt.Print(r3.IntN(100), ",")
    fmt.Print(r3.IntN(100))
    fmt.Println()
}

运行结果:

代码语言:javascript
复制
➜ go run random-numbers/random-numbers.go          
4,39
0.6400905119753958
6.227290367347759,6.517206632772481
94,49
94,49

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档