go 语言 初识时间函数

2018-09-25  本文已影响0人  杀杀神者

//使用时间戳当做随机种子来生成随机数

package main

import (

"fmt"

"math/rand"  //生成随机数

"time"           //生成时间函数

)

func main() {

a := rand.NewSource(time.Now().Unix())

r := rand.New(a)

fmt.Println(r.Intn(100))      // [0,100)的随机值,返回值为int

fmt.Println(r.Int31())        // 31位int随机值,返回值为int32

fmt.Println(r.Int31n(100))    // [0,100)的随机值,返回值为int32

fmt.Println(r.Float32())      // 32位float随机值,返回值为float32

fmt.Println(r.Float64())      // 64位float随机值,返回值为float64

fmt.Println(r.Intn(100) - 50) // [-50, 50)的随机值

}

用go生成随机数时,如果不设置一个随机种子,那么返回的是同一个值 如:

package main

import ("fmt")

import ("math/rand")

var array = [100]int{}

func main() {

fmt.Println(rand.Intn(100))

}

所以一般使用时间戳来当做随机种子

上一篇 下一篇

猜你喜欢

热点阅读