package main
import (
"fmt"
"math/rand" //随机数生成器包
"time"
)
//
func main() {
//先种下一个种子seed
//rand.Seed(665)//只要随机种子函数里面的参数相同,那么每次产生的随机数是相同的
rand.Seed(time.Now().UnixNano()) //Unix时间,时间为纳秒,这样生成的随机数每次都不同
for i := 1; i < 5; i++ {
//fmt.Println("rand=", rand.Int()) //产生的是大数
//返回一个取值范围在[0,n)的伪随机int值,如果n<=0会panic
fmt.Println("rand=", rand.Intn(100)) //产生的是100以内的数
}
}
运行结果:
//冒泡排序
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
rand.Seed(time.Now().UnixNano())
var a [10]int
for i := 0; i < len(a); i++ {
a[i] = rand.Intn(100)
}
fmt.Println("原数组为:", a)
//冒泡排序
for i := 0; i < len(a); i++ {
for j := 0; j < len(a)-i-1; j++ {
if a[j] > a[j+1] {
a[j], a[j+1] = a[j+1], a[j]
}
}
}
fmt.Println("排序后数组为:", a)
//原数组为: [79 17 10 93 20 41 88 75 50 0],排序后数组为: [0 10 17 20 41 50 75 79 88 93]
}
运行结果: