golang語言漸入佳境[30]-rand-package

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package main

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

func main() {
randTest()

randAnswer()
}

func randTest() {
//1、通過默認的隨機數種子獲取隨機數.
//系統默認的rand對象,隨機種子默認都是1
fmt.Println(rand.Int())
fmt.Println(rand.Intn(50))
fmt.Println(rand.Float64())

// 2、動態隨機種子,生成隨機資源,實例化成隨機對象,通過隨機對象獲取隨機數
s1 := rand.NewSource(time.Now().UnixNano())
r1 := rand.New(s1)
randnum := r1.Intn(10)
fmt.Println(randnum)

//3、簡寫形式:動態種子來獲取隨機數
// [0,10]
rand.Seed(time.Now().UnixNano())
fmt.Println(rand.Intn(10))

fmt.Println(rand.Float64())

//[5,11]
num := rand.Intn(7) + 5
fmt.Println(num)
}

func randAnswer() {
answers := []string{
"It is certain",
"It is decidedly so",
"Without a doubt",
"Yes definitely",
"You may rely on it",
"As I see it yes",
"Most likely",
"Outlook good",
"Yes",
"Signs point to yes",
"Reply hazy try again",
"Ask again later",
"Better not tell you now",
"Cannot predict now",
"Concentrate and ask again",
"Don't count on it",
"My reply is no",
"My sources say no",
"Outlook not so good",
"Very doubtful",
}
rand.Seed(time.Now().UnixNano())
randnum := rand.Intn(len(answers))
fmt.Println("隨機回答", answers[randnum])
}

image.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章