GoLang中的隨機(jī)數(shù)的示例代碼-創(chuàng)新互聯(lián)

隨機(jī)數(shù)我們都知道,就是計(jì)算機(jī)通過(guò)某種算法,“隨機(jī)”的生成一個(gè)數(shù)字。很多編程語(yǔ)言都有內(nèi)置的方法來(lái)生成隨機(jī)數(shù),那么 GoLang 中是怎樣一種情況呢?

成都創(chuàng)新互聯(lián)公司始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營(yíng)理念,通過(guò)多達(dá)10年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的網(wǎng)絡(luò)營(yíng)銷推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:成都戶外休閑椅等企業(yè),備受客戶稱揚(yáng)。

偽隨機(jī)數(shù)

我們都知道“隨機(jī)數(shù)”在現(xiàn)實(shí)生活中的概念,可能你隨手拋一個(gè)硬幣,就可以說(shuō)其結(jié)果是隨機(jī)的,但是在計(jì)算機(jī)中要確定一個(gè)“隨機(jī)數(shù)”真的是“隨機(jī)數(shù)”,那可是有標(biāo)準(zhǔn)的,不是你隨隨便便說(shuō)是就是。

根據(jù)密碼學(xué)原理,要想對(duì)一個(gè)“隨機(jī)數(shù)”進(jìn)行隨機(jī)性檢驗(yàn)有以下幾個(gè)標(biāo)準(zhǔn):

  1. 統(tǒng)計(jì)學(xué)偽隨機(jī)性 - 在給定的隨機(jī)比特流樣本中,1 的數(shù)量大致等于 0 的數(shù)量,也就是說(shuō),“10”“01”“00”“11” 四者數(shù)量大致相等。說(shuō)人話就是:“一眼看上去是隨機(jī)的”。
  2. 密碼學(xué)安全偽隨機(jī)性 - 就是給定隨機(jī)樣本的一部分和隨機(jī)算法,不能有效的演算出隨機(jī)樣本的剩余部分。
  3. 真隨機(jī)性 - 其定義為隨機(jī)樣本不可重現(xiàn)。

根據(jù)以上幾個(gè)標(biāo)準(zhǔn),其對(duì)應(yīng)的隨機(jī)數(shù)也就分為以下幾類:

  1. 偽隨機(jī)數(shù) - 滿足第一個(gè)條件的隨機(jī)數(shù)。
  2. 密碼學(xué)安全的偽隨機(jī)數(shù) - 同時(shí)滿足前兩個(gè)條件的隨機(jī)數(shù)??梢酝ㄟ^(guò)密碼學(xué)安全偽隨機(jī)數(shù)生成器計(jì)算得出。
  3. 真隨機(jī)數(shù) -同時(shí)滿足三個(gè)條件的隨機(jī)數(shù)。

了解了以上幾個(gè)概念,我們就知道了“偽隨機(jī)數(shù)”其實(shí)就是一個(gè)“看似隨機(jī),實(shí)則并不真正隨機(jī)”的數(shù)字。

偽隨機(jī)數(shù)生成器

在實(shí)際應(yīng)用中大部分情況下偽隨機(jī)數(shù)就足夠了。這些數(shù)列是“似乎”隨機(jī)的數(shù),實(shí)際上它們是通過(guò)一個(gè)固定的、可以重復(fù)的計(jì)算方法產(chǎn)生的。因?yàn)樗鼈儗?shí)際上是可以計(jì)算出來(lái)的,所以它們并不真正地隨機(jī),但是它們具有類似于隨機(jī)數(shù)的統(tǒng)計(jì)特征。產(chǎn)生這樣的結(jié)果的生成器我們叫做偽隨機(jī)數(shù)生成器。

一般只有在密碼學(xué)場(chǎng)景中,我們才需要使用“真隨機(jī)數(shù)”。

在大部分編程語(yǔ)言中,提供的都是“偽隨機(jī)數(shù)生成器”,例如 JS 中的 Math.random() , GoLang 中的 math/rand 包。

GoLang 中的偽隨機(jī)數(shù)

在 GoLang 中,我們可以通過(guò) math/rand 包里的方法來(lái)生成一個(gè)偽隨機(jī)數(shù):

package main
import (
 "fmt"
 "math/rand"
)
func main() {
 fmt.Println(rand.Int())  // => 134020434
}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章題目:GoLang中的隨機(jī)數(shù)的示例代碼-創(chuàng)新互聯(lián)
鏈接地址:http://muchs.cn/article38/eegpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣網(wǎng)站改版、外貿(mào)建站、關(guān)鍵詞優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)