深入 Go 语言:使用 math/rand 包实现高效随机数生成
warning:
这篇文章距离上次修改已过183天,其中的内容可能已经有所变动。
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
// 初始化随机数种子
rand.Seed(time.Now().UnixNano())
// 创建一个切片用于存储随机数
slice := make([]int, 10000)
// 填充切片
for i := range slice {
slice[i] = rand.Int()
}
// 计算切片中的最大值和最小值
var max, min int
for _, value := range slice {
if max < value {
max = value
}
if min > value || min == 0 {
min = value
}
}
// 打印结果
fmt.Printf("最大值: %d\n", max)
fmt.Printf("最小值: %d\n", min)
}
这段代码首先使用time.Now().UnixNano()
作为种子初始化随机数生成器。然后创建了一个切片,并用rand.Int()
生成的随机数填充它。接着遍历切片计算最大值和最小值,并打印结果。这个过程展示了如何生成和处理大量的随机数,对于学习Go语言中的随机数生成和处理有很好的教育意义。
评论已关闭