利用Golang生成整數(shù)隨機(jī)數(shù)方法示例
php隨機(jī)數(shù)
生成一個(gè)給定范圍的隨機(jī)數(shù),用 PHP 就太簡(jiǎn)單不過(guò)了,而且可以指定從負(fù)數(shù)到正整數(shù)的范圍,如:
<?php echo mt_rand(-988, 888);
這樣就隨機(jī)生成 -988 到 888 的隨機(jī)數(shù)。
使用 Go 就要稍微麻煩一點(diǎn)。以下兩個(gè)函數(shù)分別是生成一個(gè)最大范圍內(nèi)隨機(jī)整數(shù),和生成一個(gè)區(qū)間范圍的隨機(jī)整數(shù):
生成一個(gè)最大范圍內(nèi)隨機(jī)數(shù)
一定要給一個(gè)時(shí)間戳的種子,否則每次生成都是一樣的值。這里就是生成 [0,100) 的隨機(jī)數(shù)。
func GenerateRandnum() int { rand.Seed(time.Now().Unix()) randNum := rand.Intn(100) return randNum }
生成一個(gè)給定范圍的隨機(jī)數(shù)
這里實(shí)際上跟生成一個(gè)給定最大值內(nèi)的隨機(jī)數(shù)一樣,只是有一個(gè)最大和最小范圍的處理。
func GenerateRangeNum(min, max int) int { rand.Seed(time.Now().Unix()) randNum := rand.Intn(max - min) + min return randNum }
完整示例如下:
func main() { GenerateRandnum() GenerateRangeNum(888, 900) } package main import ( "fmt" "math/rand" "time" ) // GenerateRandnum 生成最大范圍內(nèi)隨機(jī)數(shù) func GenerateRandnum() int { rand.Seed(time.Now().Unix()) randNum := rand.Intn(100) fmt.Printf("rand is %v\n", randNum) return randNum } // GenerateRangeNum 生成一個(gè)區(qū)間范圍的隨機(jī)數(shù) func GenerateRangeNum(min, max int) int { rand.Seed(time.Now().Unix()) randNum := rand.Intn(max - min) randNum = randNum + min fmt.Printf("rand is %v\n", randNum) return randNum } func main() { GenerateRandnum() GenerateRangeNum(888, 900) }
運(yùn)行結(jié)果:
➜ examples git:(master) ✗ go run range.go
rand is 52
rand is 892
➜ examples git:(master) ✗ go run range.go
rand is 53
rand is 889
➜ examples git:(master) ✗ go run range.go
rand is 53
rand is 889
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Go語(yǔ)言題解LeetCode724尋找數(shù)組的中心下標(biāo)
這篇文章主要為大家介紹了Go語(yǔ)言題解LeetCode724尋找數(shù)組的中心下標(biāo),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Go語(yǔ)言獲取系統(tǒng)性能數(shù)據(jù)gopsutil庫(kù)的操作
這篇文章主要介紹了Go語(yǔ)言獲取系統(tǒng)性能數(shù)據(jù)gopsutil庫(kù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12在Go中創(chuàng)建自定義錯(cuò)誤的方式總結(jié)
在程序開(kāi)發(fā)中錯(cuò)誤處理是至關(guān)重要的,下面這篇文章主要給大家介紹了關(guān)于在Go中創(chuàng)建自定義錯(cuò)誤的方式,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Go具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01一文詳解go中如何實(shí)現(xiàn)定時(shí)任務(wù)
定時(shí)任務(wù)是指按照預(yù)定的時(shí)間間隔或特定時(shí)間點(diǎn)自動(dòng)執(zhí)行的計(jì)劃任務(wù)或操作,這篇文章主要為大家詳細(xì)介紹了go中是如何實(shí)現(xiàn)定時(shí)任務(wù)的,感興趣的可以了解下2023-11-11golang?基于?mysql?簡(jiǎn)單實(shí)現(xiàn)分布式讀寫鎖
這篇文章主要介紹了golang?基于mysql簡(jiǎn)單實(shí)現(xiàn)分布式讀寫鎖,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09

Golang實(shí)現(xiàn)Java虛擬機(jī)之解析class文件詳解