Go随机数
Go math/rand包用于生成随机数。
代码:
package main import "fmt"
import "math/rand" func main() { fmt.Println(rand.Intn()) //产生0-100的随机整数 fmt.Println(rand.Float64()) //产生0.0-1.0的随机浮点点 s1 := rand.NewSource() //用指定值创建一个随机数种子
r1 := rand.New(s1)
fmt.Print(r1.Intn(), ",")
fmt.Print(r1.Intn())
fmt.Println() s2 := rand.NewSource() //同前面一样的种子
r2 := rand.New(s2)
fmt.Print(r2.Intn(), ",")
fmt.Print(r2.Intn())
fmt.Println()
}
返回结果:
81
0.9405090880450124
5,87
5,87
多次重复执行上述代码,返回的结果仍然是一样的。所以为了使得调用的随机数不相同,就需要使用NewSource来提供一个随机的种子。比如:
s2 := rand.NewSource(time.Now().Unix())
如果在同一次执行中多次调用,返回的结果是不一样的:
比如这个代码:
package main import "fmt"
import "math/rand" func main() {
fmt.Println(rand.Intn())
fmt.Println(rand.Intn())
fmt.Println(rand.Intn())
fmt.Println(rand.Intn())
}
go run random.go连续执行三次,显示结果为:
$ go run random.go
81
87
47
59
$ go run random.go
81
87
47
59
$ go run random.go
81
87
47
59
Go随机数的更多相关文章
- .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数
.Net中我们通常使用Random类生成随机数,在一些场景下,我却发现Random生成的随机数并不可靠,在下面的例子中我们通过循环随机生成10个随机数: ; i < ; i++) { Rando ...
- DotNet生成随机数的一些方法
在项目开发中,一般都会使用到“随机数”,但是在DotNet中的随机数并非真正的随机数,可在一些情况下生成重复的数字,现在总结一下在项目中生成随机数的方法. 1.随机布尔值: /// <summa ...
- JavaScript 随机数
JavaScript内置函数random(seed)可以产生[0,1)之间的随机数,若想要生成其它范围的随机数该如何做呢? 生成任意范围的随机数 //生成[100,120)之间的随机数 Math.fl ...
- SQL Server 随机数,随机区间,随机抽取数据rand(),floor(),ceiling(),round(),newid()函数等
在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数.那就看下面 ...
- 随机数(random)
需求 Random rd=new Random(); 需要十以内的随机数 (0---10) System.out.println((int)((rd.nextDouble()*100)/10)); ...
- [LeetCode] Insert Delete GetRandom O(1) 常数时间内插入删除和获得随机数
Design a data structure that supports all following operations in average O(1) time. insert(val): In ...
- Python 随机数用法
1. random.seed(int) 给随机数对象一个种子值,用于产生随机序列. 对于同一个种子值的输入,之后产生的随机数序列也一样. 通常是把时间秒数等变化值作为种子值,达到每次运行产生的随机系列 ...
- C语言产生标准正态分布或高斯分布随机数
C语言 产生标准正态分布或高斯分布 随机数 产生正态分布或高斯分布的三种方法: 1. 运用中心极限定理(大数定理) #include #include #define NSUM 25 double g ...
- C语言基础(11)-随机数发生器
一. rand() rand是一个C语言库函数,功能是生成一个随机数.rand需要一个不同的种子,才能生成不同的随机数. 二. srand(int seed) rand需要一个不同的种子,才能生成不同 ...
- shell 指定范围产生随机数
#/bin/bash echo "---------------产生随机数---------------" read -p "请输入起始数:" a read - ...
随机推荐
- 数据结构与STL容器
1.静态数组 静态数组就是大小固定不能扩展的数组,如C中普通数组.C++11中array. 2.动态数组 动态数组的空间大小在需要的时候可以进行再分配,其代表为vector.由于数组的特点,在位置0插 ...
- 环境搭建文档——Windows下的Git搭建详解
Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.具体安装步骤如下: 第一步:先从官网下载最新版本的Git 官网地址:https://git-scm.com/do ...
- docker + mysql安装sonarqube
docker sonarqube地址:https://hub.docker.com/_/sonarqube docker mysql地址:https://hub.docker.com/_/mysql ...
- 第四次scrum冲刺
一.第四次Scrum任务 继续上次的任务,完成校园服务中的成绩查询,失物招领,长大集市的功能. 小组的地址链接:https://github.com/Weifeng513/-1/tree/master ...
- 启动eclipse could not create the java Vittual Machine
查询并几种方法: 1.都说是 eclipse.ini 环境初始文件的内存问题,续增大堆内存大小,具体配置如,如果找不到问题所在可以试试(该方法是确定环境变量没问题下试行) -Xms64m-Xmx25 ...
- php中连接mysql数据库的第一步操作
<?phperror_reporting(E_ALL ^ E_DEPRECATED);//设置报警级别人$mylink = mysql_connect("localhost" ...
- let,const,var
1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始化 3 console.log('函数外const定义b:' + ...
- Centos 安装 mysql yum
http://www.cnblogs.com/007sx/p/7083143.html https://www.linode.com/docs/databases/mysql/how-to-insta ...
- python学习,excel操作之xlsxwriter常用操作
from datetime import datetime import xlsxwriter #打开文件 workbook = xlsxwriter.Workbook('Expenses03.xls ...
- 去掉字符空格js
1. 去掉字符串两端的空格 String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, "&quo ...