Random

概述 #

调用 rand 包 即可,重要的一点是每次生成随机数之前,都设置随机数生成种子,否则可能每次生成的随机数都一样。

例子 #

随机生成数字 #

package main

import (
	"fmt"
	"math/rand"
	"time"
)

func main() {
	rand.Seed(time.Now().UnixNano()) // 以当前时间的纳秒单位为种子

	for i := 0; i < 5; i++ {
		fmt.Println(rand.Int())
	}
}

// $ go run main.go
// 输出如下, 你的输出应该和这里的不一样
/**
  6322308781580164811
  8102638055079193560
  8689011158917073467
  6408490946268327546
  2346011052422006168
*/

随机生成指定区间数字 #

package main

import (
	"fmt"
	"math/rand"
	"time"
)

func main() {
	s := rand.NewSource(time.Now().UnixNano()) // 以当前时间的纳秒单位为种子
	r := rand.New(s)

	for i := 0; i < 5; i++ {
		fmt.Println(r.Intn(10))
	}
}

// $ go run main.go
// 输出如下, 你的输出应该和这里的不一样
/**
  5
  9
  7
  1
  3
*/

转载申请

本作品采用 知识共享署名 4.0 国际许可协议 进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,商业转载请联系作者获得授权。

© 蛮荆 | 陕公网安备 61011302001681 号 | 陕ICP备2023004378号-1 | Rendered by Hugo