你也可以调整默认数字生成器,由于内部互斥锁的存在,它是并发安全的 。如果生成器并不在并发环境下使用,那么你就可以在不使用锁的情况下创建你自己的生成器:
func main() { gRand := rand.New(rand.NewSource(1).(rand.Source64)) for i := 0; i < 4; i++ { println(gRand.Intn(100)) }}
性能会更好:
【我用 Go语言 生成的随机数为什么不随机?随机数是怎样产生的】name time/opRandWithMathNoLock-8 10.7ns ± 4%
推荐阅读
- 什么是RPC?RPC有什么用?与语言有关吗?
- Python+Pytest框架在Jenkins上生成Allure测试报告
- 2020 年 7 月编程语言排行榜
- 17条嵌入式C语言编程小知识,需要知道
- SSL泛域名证书?免费生成!
- C语言数组初始化的三种方式
- C++命名空间namespace的理解
- 应该学习的前5种编程语言
- 2020年树莓派的5种最佳编程语言
- 并发问题的解决思路以及Go语言调度器工作原理