生成随机数,需要使用math和rand包。
package main
import (
"fmt"
"math/rand"
"time"
)
//生成随机数,同一秒内数相同
func main(){
//当前时间戳,精确到秒
second := time.Now().Unix()
//设置随机数种子,以生成伪随机数
rand.Seed(second )
//生成100以内的随机数
number := rand.Intn(100)
fmt.Println(number)
}
通过秒生成随机数,数字容易重合,解决方法,通过纳秒生成:
package main
import (
"fmt"
"math/rand"
"time"
)
//通过纳秒生成随机数,高度不重复
func main(){
//当前时间戳,精确到纳秒
nanosecond := time.Now().UnixNano()
//设置随机数种子,以生成伪随机数
rand.Seed(nanosecond)
//生成100以内的随机数
number := rand.Intn(100)
fmt.Println(number)
}