原文:http://blog.csdn.net/qq_15437667/article/details/50851159
------------------------------------------------------------------
go使用時間作為種子生成隨機數
設置時間種子使用time包
生成隨機數需要math/rand包
打印輸出使用fmt包
不設置時間種子的話,每次生成的rand值相同
package main import "fmt" import "math/rand" import "time" func Generate_Randnum() int{ rand.Seed(time.Now().Unix()) rnd := rand.Intn(100) fmt.Printf("rand is %v\n", rnd) return rnd } func main(){ Generate_Randnum() }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
文件保存為GetRand.go,運行
feiqianyousadeMacBook-Pro:go yousa$ go run GetRand.go rand is 56 feiqianyousadeMacBook-Pro:go yousa$ go run GetRand.go rand is 25
- 1
- 2
- 3
- 4
rand.Intn(int n)函數生成從0-n的隨機數
rand.Int()函數生成隨機數
這里不太確定隨機數是從0開始還是1,請自己查詢代碼驗證
另外,不設置時間種子的情況
package main import "fmt" import "math/rand" //import "time" func Generate_Randnum() int{ // rand.Seed(time.Now().Unix()) rnd := rand.Intn(100) fmt.Printf("rand is %v\n", rnd) return rnd } func main(){ Generate_Randnum() }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
運行,生成結果不變
feiqianyousadeMacBook-Pro:go yousa$ go run GetRand.go rand is 81 feiqianyousadeMacBook-Pro:go yousa$ go run GetRand.go rand is 81 feiqianyousadeMacBook-Pro:go yousa$ go run GetRand.go rand is 81
