golang中生成随机数

Posted Leo Han

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中生成随机数的主要内容,如果未能解决你的问题,请参考以下文章

golang 在Golang中生成给定长度的随机字符串

golang 在go中生成随机int数

如何在Javascript中生成随机数[重复]

如何在 Bash 中生成随机数?

在 pyCuda 内核中生成单个随机数

在 Dart 中生成唯一的随机数