go语言基础之随机数的使用

1、随机数的使用

示例1: 如果种子参数一样,每次运行程序产生的随机数都一样

package main //必须有个main包

import "fmt"
import "math/rand"

func main() {
        //设置种子,只需一次
        //如果种子参数一样,每次运行程序产生的随机数都一样
        rand.Seed(666)
        for i := 0; i < 5; i++ {
                //产生随机数
                fmt.Println("rand = ", rand.Int())
        }
}

执行结果: 产生的随机数,每次结果都一样。

rand =  4343637058903381868
rand =  3769183255805726892
rand =  1923662109321608638
rand =  1818688891928401469
rand =  4144162958715305555

示例2:以当前时间做为参数,每次程序运行的随机数都会不一样

package main //必须有个main包

import "fmt"
import "math/rand"
import "time"

func main() {
        //设置种子, 只需一次
        //如果种子参数一样,每次运行程序产生的随机数都一样
        rand.Seed(time.Now().UnixNano()) //以当前系统时间作为种子参数

        for i := 0; i < 5; i++ {

                //产生随机数
                //fmt.Println("rand = ", rand.Int()) //随机很大的数
                fmt.Println("rand = ", rand.Intn(100)) //限制在100内的数
        }

}

执行结果:

rand =  84
rand =  3
rand =  43
rand =  35
rand =  13