好好爱自己!

go使用时间作为种子生成随机数

原文:http://blog.csdn.net/qq_15437667/article/details/50851159

------------------------------------------------------------------

go使用时间作为种子生成随机数

设置时间种子使用time包 
生成随机数需要math/rand包 
打印输出使用fmt包

不设置时间种子的话,每次生成的rand值相同

package main

import "fmt"
import "math/rand"
import "time"

func Generate_Randnum() int{
    rand.Seed(time.Now().Unix())
    rnd := rand.Intn(100)

    fmt.Printf("rand is %v\n", rnd)

    return rnd
} 

func main(){
    Generate_Randnum()  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

文件保存为GetRand.go,运行

feiqianyousadeMacBook-Pro:go yousa$ go run GetRand.go
rand is 56
feiqianyousadeMacBook-Pro:go yousa$ go run GetRand.go
rand is 25
  • 1
  • 2
  • 3
  • 4

rand.Intn(int n)函数生成从0-n的随机数 
rand.Int()函数生成随机数

这里不太确定随机数是从0开始还是1,请自己查询代码验证

另外,不设置时间种子的情况

package main

import "fmt"
import "math/rand"
//import "time"

func Generate_Randnum() int{
//  rand.Seed(time.Now().Unix())
    rnd := rand.Intn(100)

    fmt.Printf("rand is %v\n", rnd)

    return rnd
} 

func main(){
    Generate_Randnum()  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

运行,生成结果不变

feiqianyousadeMacBook-Pro:go yousa$ go run GetRand.go
rand is 81
feiqianyousadeMacBook-Pro:go yousa$ go run GetRand.go
rand is 81
feiqianyousadeMacBook-Pro:go yousa$ go run GetRand.go
rand is 81
posted @   立志做一个好的程序员  阅读(1927)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2017-03-20 Use JavaScript to Export Your Data as CSV

不断学习创作,与自己快乐相处

点击右上角即可分享
微信分享提示