問題解決方法:
在這裏,我們將演示 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。