golang怎么生成不重复随机数


当前第2页 返回上一页

例如

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

package main

import (

    "fmt"

    "math/rand"

    "time"

)

func main() {

    //

    // 全局函数

    //

    rand.Seed(time.Now().Unix())

 

    fmt.Println(rand.Int())       // int随机值,返回值为int

    fmt.Println(rand.Intn(100))   // [0,100)的随机值,返回值为int

    fmt.Println(rand.Int31())     // 31位int随机值,返回值为int32

    fmt.Println(rand.Int31n(100)) // [0,100)的随机值,返回值为int32

    fmt.Println(rand.Float32())   // 32位float随机值,返回值为float32

    fmt.Println(rand.Float64())   // 64位float随机值,返回值为float64

 

    // 如果要产生负数到正数的随机值,只需要将生成的随机数减去相应数值即可

    fmt.Println(rand.Intn(100) - 50) // [-50, 50)的随机值

 

    //

    // Rand对象

    //

    r := rand.New(rand.NewSource(time.Now().Unix()))

 

    fmt.Println(r.Int())       // int随机值,返回值为int

    fmt.Println(r.Intn(100))   // [0,100)的随机值,返回值为int

    fmt.Println(r.Int31())     // 31位int随机值,返回值为int32

    fmt.Println(r.Int31n(100)) // [0,100)的随机值,返回值为int32

    fmt.Println(r.Float32())   // 32位float随机值,返回值为float32

    fmt.Println(r.Float64())   // 64位float随机值,返回值为float64

 

    // 如果要产生负数到正数的随机值,只需要将生成的随机数减去相应数值即可

    fmt.Println(r.Intn(100) - 50) // [-50, 50)的随机值

}

以上就是golang怎么生成不重复随机数的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

golang 产生随机数有多少种方法

golang怎么生成随机数

golang怎么生成不重复随机数

golang实现生成不重复随机数

更多相关阅读请进入《随机数》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...