golang连续生成随机数

Python013

golang连续生成随机数,第1张

const NUM int = 100

for i := 0i <NUMi += 1 {

    rand.Seed(int64(i))

    fmt.Printf("%d\t", rand.Int63n(int64(NUM)))

}

其实在循环里面这点时间间隔,纳秒也是跟不上的。

还有,你用sleep的方法肯定是不能接受的!!!

math/rand 中的所有整数函数都生成非负数.

示例 main.go

执行

同理,需要int64 int32类型的随机数只要修改随机函数

但是需要注意 math/rand 几个函数的取值区间!如Intn的范围[0, n)。[0,20),20会取不到

我自己的需求这样写已足够

Map是随机存储的,好像是按内存块的大小放数据。这样存储效率高。但检索效率低。List是会重新划分存储空间,保证连续存储,存的效率低,检索效率高。大概是这个意思,具体的,准确、详细的自己google下。

hashCode() 方法得到其 hashCode 值——每个 Java 对象都有 hashCode() 方法,都可通过该方法获得它的 hashCode 值。得到这个对象的 hashCode 值之后,系统会根据该 hashCode 值来决定该元素的存储位置。

设置了首尾倒置函数,也会出现这种类似情况。还有,你要注意:map中不允许存在重复的键名,你也可以使用其他的方式来实现,比如List,排序的话还得靠你自己来实现了。