1. 程式人生 > >golang語言漸入佳境[30]-rand-package

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