linux/windows平台生成随机数的不同方法

linux平台,使用rand.Seed()

//rand_linux.go
package main import (
"math/rand"
"time"
) //get the random number in [min, max]
func RandInt64(min, max int64) int64 {
if min >= max || max == 0 {
return max
}
rand.Seed(time.Now().UnixNano())
//fmt.Println(r.Int63n(max-min) + min)
x := rand.Int63n(max-min) + min
//fmt.Println(x)
return x
} //get the random numer in [min, max]
func RandInt(min, max int) int {
if min >= max || max == 0 {
return max
}
rand.Seed(time.Now().UnixNano()) //x := r.Intn(max-min) + min
x := rand.Intn(max - min) + min //fmt.Println("RandInt: = ",x)
return x
}

  windows平台,直接使用 rand.Int63n() 或者 rand.Intn()

//rand_windows.go
package main import (
"math/rand"
) //get the random number in [min, max]
func RandInt64(min, max int64) int64 {
if min >= max || max == 0 {
return max
}
x := rand.Int63n(max-min) + min
//fmt.Println(x)
return x
} //get the random numer in [min, max]
func RandInt(min, max int) int {
if min >= max || max == 0 {
return max
} x := rand.Intn(max - min) + min //fmt.Println("RandInt: = ",x)
return x
}

  Mac平台

//rand_darwin.go
package main
import (
"math/rand"
"time"
) //RandInt64 get the random number in [min, max]
func RandInt64(min, max int64) int64 {
if min >= max || max == {
return max
}
rand.Seed(time.Now().UnixNano())
//fmt.Println(r.Int63n(max-min) + min)
x := rand.Int63n(max-min) + min
//fmt.Println(x)
return x
} //RandInt get the random numer in [min, max]
func RandInt(min, max int) int {
if min >= max || max == {
return max
}
rand.Seed(time.Now().UnixNano()) //x := r.Intn(max-min) + min
x := rand.Intn(max-min) + min //fmt.Println("RandInt: = ",x)
return x
}
上一篇:ActiveMQ实现负载均衡+高可用部署方案(转)


下一篇:IoC容器Autofac正篇之类型注册(五)