1 package main
2
3 import (
4 "fmt"
5 "math/rand"
6 "time"
7 )
8
9 func main() {
10
11 /*
12 生成随机数random:
13 伪随机数,根据一定的算法公式算出来的。
14 math/rand
15 */
16
17 num1 := rand.Int()
18 fmt.Println(num1) // 5577006791947779410
19
20 for i := 0; i < 10; i++ {
21 num := rand.Intn(10) //[0,9]
22 fmt.Printf("%d,", num) // 7,7,9,1,8,5,0,6,0,4,
23 if i == 9 {
24 fmt.Println()
25 }
26 }
27
28 rand.Seed(1000)
29 num2 := rand.Intn(10)
30 fmt.Println("-->", num2) // --> 5
31
32 t1 := time.Now()
33 fmt.Println(t1) // 2021-11-29 09:20:58.2003462 +0800 CST m=+0.002806001
34 fmt.Printf("%T\n", t1) // time.Time
35 // 时间戳:指定时间,距离1970年1月1日0点0分0秒,之间的时间差值:秒,纳秒
36 timeStamp1 := t1.Unix() // 秒
37 fmt.Println(timeStamp1) // 1638148858
38
39 timeStamp2 := t1.UnixNano()
40 fmt.Println(timeStamp2) // 1638148858200346200
41
42 // step1:设置种子数,可以设置成时间戳
43 rand.Seed(time.Now().UnixNano())
44 for i := 0; i < 10; i++ {
45 // step2:调用生成随机数的函数
46 fmt.Println("-->", rand.Intn(100)) // 100 以内的随机数
47 }
48
49 // 区间内的随机数
50 num3 := rand.Intn(46) + 3 // [3,48]
51 fmt.Println(num3) // 33
52 num4 := rand.Intn(62) + 15 // [15,76]
53 fmt.Println(num4) // 64
54
55 }