golang生成隨機函數的實現

golang生成隨機數可使用math/rand包,golang

示例以下:spa

package main
       
import (
    "fmt"
    "math/rand"
)
       
func main() {
    for i:=0; i<10; i++ {
        fmt.Println(rand.Intn(100))
    }
}

而發現這種狀況,每次執行的結果同樣.code

修改以下:blog

package main
    
import (
    "fmt"
    "time"
    "math/rand"
)
    
func main() {
    r := rand.New(rand.NewSource(time.Now().UnixNano()))
    for i:=0; i<10; i++ {
        fmt.Println(r.Intn(100))
    }
}

而這種方式就可使用時間種子來獲取不一樣的結果了。class

 

示例2:import

package main  
  
import (  
    "fmt"  
    "math/rand"  
    "time"  
)  
  
func main() {  
    rand.Seed(time.Now().UnixNano())  
    for i := 0; i < 10; i++ {  
        x := rand.Intn(100)  
        fmt.Println(x)  
    }  
}

例子是打印10個100之內(0-99)的隨機數字。隨機數

相關文章
相關標籤/搜索