问题解决方法:
在这里,我们将演示 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 rand.Intn()用法及代码示例
- Golang reflect.Kind()用法及代码示例
- Golang reflect.FuncOf()用法及代码示例
- Golang reflect.NumMethod()用法及代码示例
- Golang ring.Len()用法及代码示例
- Golang reflect.Complex()用法及代码示例
- Golang reflect.Int()用法及代码示例
- Golang reflect.ArrayOf()用法及代码示例
- Golang reflect.Close()用法及代码示例
- Golang reflect.IsNil()用法及代码示例
- Golang reflect.DeepEqual()用法及代码示例
- Golang reflect.MapIndex()用法及代码示例
- Golang reflect.Len()用法及代码示例
- Golang reflect.Tag.Lookup()用法及代码示例
- Golang reflect.Set()用法及代码示例
- Golang reflect.NewAt()用法及代码示例
- Golang reflect.MakeMap()用法及代码示例
- Golang reflect.CanAddr()用法及代码示例
- Golang reflect.FieldByIndex()用法及代码示例
- Golang reflect.SetBool()用法及代码示例
注:本文由纯净天空筛选整理自 Golang program to demonstrate the rand.Seed() function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。