当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Golang rand.Seed()用法及代码示例

问题解决方法:

在这里,我们将演示 rand.Seed() 函数的使用。 rand.Seed() 函数用于设置种子值以生成随机数。如果种子值相同,则 rand.Intn() 函数将生成相同系列的随机数。如果我们改变种子值,那么它将生成不同系列的随机数。

程序/源代码:

下面给出了演示 rand.Seed() 函数的源代码。给定的程序在 ubuntu 18.04 操作系统上编译和执行成功。

// Golang program to demonstrate the
// rand.Seed() function

package main

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

// Entry point for the program
func main() {
	rand.Seed(100)
	fmt.Println("Random number:", rand.Intn(786))
	fmt.Println("Random number:", rand.Intn(786))

	rand.Seed(100)
	fmt.Println("Random number:", rand.Intn(786))
	fmt.Println("Random number:", rand.Intn(786))

	fmt.Println("\n")

	rand.Seed(time.Now().UnixNano())
	fmt.Println("Random number:", rand.Intn(786))
	fmt.Println("Random number:", rand.Intn(786))

	rand.Seed(time.Now().UnixNano())
	fmt.Println("Random number:", rand.Intn(786))
	fmt.Println("Random number:", rand.Intn(786))
}

输出:

Random number: 91
Random number: 470
Random number: 91
Random number: 470


Random number: 657
Random number: 585
Random number: 27
Random number: 342

说明:

在上面的程序中,我们声明了包 main。 main 包用于告诉 Go 语言编译器必须编译该包并生成可执行文件。在这里,我们将所需的包导入到预定义的函数中。

在 main() 函数中,我们使用 rand.Seed() 函数来设置种子值。在这里,我们将种子值设置为 100 两次,然后它会生成相同系列的随机数。之后,我们使用时间作为种子值,然后生成不同系列的随机数。





相关用法


注:本文由纯净天空筛选整理自 Golang program to demonstrate the rand.Seed() function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。