分享
golang 随机数
benlightning · · 45498 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
package main import "fmt" import "math/rand" func main() { //例如,rand.Intn 返回一个随机的整数 n,0 <= n <= 100。 fmt.Print(rand.Intn(100), ",") fmt.Print(rand.Intn(100)) fmt.Println() //rand.Float64 返回一个64位浮点数 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() //要让伪随机数生成器有确定性,可以给它一个明确的种子。 s1 := rand.NewSource(42) r1 := rand.New(s1) //调用上面返回的 rand.Source 的函数和调用 rand 包中函数是相同的。 fmt.Print(r1.Intn(100), ",") fmt.Print(r1.Intn(100)) fmt.Println() 如果使用相同的种子生成的随机数生成器,将会产生相同的随机数序列。 s2 := rand.NewSource(42) r2 := rand.New(s2) fmt.Print(r2.Intn(100), ",") fmt.Print(r2.Intn(100)) fmt.Println() } $ go run random-numbers.go 81,87 0.6645600532184904 7.123187485356329,8.434115364335547 5,87 5,87
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信45498 次点击
上一篇:golang 信号
下一篇:golang url解析
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
package main import "fmt" import "math/rand" func main() { //例如,rand.Intn 返回一个随机的整数 n,0 <= n <= 100。 fmt.Print(rand.Intn(100), ",") fmt.Print(rand.Intn(100)) fmt.Println() //rand.Float64 返回一个64位浮点数 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() //要让伪随机数生成器有确定性,可以给它一个明确的种子。 s1 := rand.NewSource(42) r1 := rand.New(s1) //调用上面返回的 rand.Source 的函数和调用 rand 包中函数是相同的。 fmt.Print(r1.Intn(100), ",") fmt.Print(r1.Intn(100)) fmt.Println() 如果使用相同的种子生成的随机数生成器,将会产生相同的随机数序列。 s2 := rand.NewSource(42) r2 := rand.New(s2) fmt.Print(r2.Intn(100), ",") fmt.Print(r2.Intn(100)) fmt.Println() } $ go run random-numbers.go 81,87 0.6645600532184904 7.123187485356329,8.434115364335547 5,87 5,87