利用Golang生成整數(shù)隨機(jī)數(shù)方法示例
php隨機(jī)數(shù)
生成一個(gè)給定范圍的隨機(jī)數(shù),用 PHP 就太簡單不過了,而且可以指定從負(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é)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Go語言題解LeetCode724尋找數(shù)組的中心下標(biāo)
這篇文章主要為大家介紹了Go語言題解LeetCode724尋找數(shù)組的中心下標(biāo),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
Go語言獲取系統(tǒng)性能數(shù)據(jù)gopsutil庫的操作
這篇文章主要介紹了Go語言獲取系統(tǒng)性能數(shù)據(jù)gopsutil庫的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
在Go中創(chuàng)建自定義錯(cuò)誤的方式總結(jié)
在程序開發(fā)中錯(cuò)誤處理是至關(guān)重要的,下面這篇文章主要給大家介紹了關(guān)于在Go中創(chuàng)建自定義錯(cuò)誤的方式,文中通過代碼介紹的非常詳細(xì),對大家學(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-11
golang?基于?mysql?簡單實(shí)現(xiàn)分布式讀寫鎖
這篇文章主要介紹了golang?基于mysql簡單實(shí)現(xiàn)分布式讀寫鎖,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
Golang實(shí)現(xiàn)Java虛擬機(jī)之解析class文件詳解

