golang 隨機數


package main
import "fmt"
import "math/rand"
func main() {
//例如,rand.Intn 返回一個隨機的整數 n,0 <= n <= 100。
    fmt.Print(rand.Intn(100), ",")
    fmt.Print(rand.Intn(100))
    fmt.Println()
//rand.Float64 返回一個64位浮點數 f,0.0 <= f <= 1.0。
    fmt.Println(rand.Float64())
//這個技巧可以用來生成其他范圍的隨機浮點數,例如5.0 <= f <= 10.0
    fmt.Print((rand.Float64()*5)+5, ",")
    fmt.Print((rand.Float64() * 5) + 5)
    fmt.Println()
//要讓偽隨機數生成器有確定性,可以給它一個明確的種子。
    s1 := rand.NewSource(42)
    r1 := rand.New(s1)
//調用上面返回的 rand.Source 的函數和調用 rand 包中函數是相同的。
    fmt.Print(r1.Intn(100), ",")
    fmt.Print(r1.Intn(100))
    fmt.Println()
如果使用相同的種子生成的隨機數生成器,將會產生相同的隨機數序列。
    s2 := rand.NewSource(42)
    r2 := rand.New(s2)
    fmt.Print(r2.Intn(100), ",")
    fmt.Print(r2.Intn(100))
    fmt.Println()
}
$ go run random-numbers.go 
81,87
0.6645600532184904
7.123187485356329,8.434115364335547
5,87
5,87

 


免責聲明!

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



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