package?main
10年積累的網(wǎng)站制作、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有酉陽土家族苗族免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
import?(
"fmt"
"math/rand"
"time"
)
func?main()?{
for?i?:=?0;?i??20;?i++?{
r?:=?rand.New(rand.NewSource(time.Now().UnixNano()))
//rand.Seed(time.Now().UnixNano())?//以當(dāng)前納秒數(shù)作為隨機(jī)數(shù)種子
n?:=?r.Int63()
fmt.Println(n)
}
}
查了下這樣可以
不知道他內(nèi)部怎么實現(xiàn)的 ? unixnano
math/rand 中的所有整數(shù)函數(shù)都生成非負(fù)數(shù).
示例 main.go
執(zhí)行
同理,需要int64 int32類型的隨機(jī)數(shù)只要修改隨機(jī)函數(shù)
但是需要注意 math/rand 幾個函數(shù)的取值區(qū)間!如Intn的范圍[0, n)。[0,20),20會取不到
我自己的需求這樣寫已足夠
const NUM int = 100
for i := 0; i NUM; i += 1 {
rand.Seed(int64(i))
fmt.Printf("%d\t", rand.Int63n(int64(NUM)))
}
其實在循環(huán)里面這點時間間隔,納秒也是跟不上的。
還有,你用sleep的方法肯定是不能接受的?。?!
返回x和y中最大值,特例如下:
返回x和y中最小值,特例如下:
返回一個標(biāo)準(zhǔn)化小數(shù)frac和2的整型指數(shù)exp,滿足f == frac * 2**exp,且0.5 = Abs(frac) 1;特例如下:
第一類貝塞爾函數(shù),n階。特例如下:
MaxBase是字符串轉(zhuǎn)換函數(shù)接受的最大進(jìn)制。
創(chuàng)建一個值為x的*Int。
將z設(shè)為-x并返回z。
返回一個uint32類型的非負(fù)的32位偽隨機(jī)數(shù)。
返回一個取值范圍在[0,n)的偽隨機(jī)int值,如果n=0會panic。