PJCHENder 未整理筆記

[Go] pkg - 算數 math and rand

2019-05-12

[Go] pkg - 算數 math and rand

math

math

Pow

回傳 x 的 y 次方:

1
// func Pow(x, y float64) float64

math/rand

math/rand

產生隨機整數

在 Go 中,可以透過 rand.Intn 這個方法來產生隨機的正整數,但要留意的是,Go 用來產生隨機數字的種子(seed)並不會自己改變,因此若沒有自己去改變 seed,則每次隨機產生的正整數並不會改變,因此若要產生的正整數:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package main

import (
"fmt"
"math/rand"
"time"
)

func main() {
// STEP 1:透過 NewSource 方法,每次搭配不同的 seed 產生新的 source
seed := time.Now().UnixNano()
source := rand.NewSource(seed)
// STEP 2:透過 New 方法帶有不同 seed 的 rand 方法
r := rand.New(source)
// STEP 3:透過 Intn 方法隨機產生正整數
fmt.Println("random number", r.Intn(10))
}

參考

掃描二維條碼,分享此文章