golang 在go中生成随机int数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 在go中生成随机int数相关的知识,希望对你有一定的参考价值。

rand.Seed(time.Now().UnixNano())
rand.Intn(20)+20 // formula: rand.Intn(max-min) + min

golang中生成随机数

golang中生成随机数可以使用rand提供的相关接口,但是需要注意的是,rand必须要指定一个种子,一般采用当前时间的纳秒。

func New(src Source) *Rand 
	s64, _ := src.(Source64)
	return &Randsrc: src, s64: s64


func NewSource(seed int64) Source 
	var rng rngSource
	rng.Seed(seed)
	return &rng

通过上述两个接口,生成一个Rand对象,然后通过他来生成随机数:

random := rand.New(rand.NewSource(time.Now().UnixNano()))
	for i:=0;i<30;i++ 
		fmt.Printf("%d " ,random.Intn(9))
	

func (r *Rand) Intn(n int)指定生成一个在区间[0,n)的整数

func (r *Rand) Float32() float32返回一个[0.0,1.0)的随机小叔

以上是关于golang 在go中生成随机int数的主要内容,如果未能解决你的问题,请参考以下文章

golang中生成随机数

golang中生成随机数

在 Go 中生成随机数

在 C++ 中生成随机双精度数

在 Go 语言中生成固定长度的随机数

如何在R中生成随机的64位十六进制数?