go使用時間作為種子生成隨機數


原文: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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM