美文网首页GoGolang语言社区
03. 数学运算的随机数

03. 数学运算的随机数

作者: 厚土火焱 | 来源:发表于2017-08-08 02:02 被阅读128次

总是要有使用随机数的情况。这就需要使用math包。

package main

import(
    "fmt"
    "math/rand"
)

func main(){
    fmt.Println("My random number is",  rand.Intn(190))
}

如果你运行这个程序,就会发现每次返回的随机数是不变的。因为运行环境是没有发生变化的。
为了每次得到不同的随机数,就需要一个随机数种子。

package main

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

func main(){
    r := rand.New(rand.NewSource(time.Now().UnixNano()))
    fmt.Println("My random number is", r.Intn(190))
}

时间是不停的在发生变化的,利用time.Now().UnixNano()获得一个带纳秒的时间戳,形成一个新源。然后随机数就可以有想要的效果了。
当然也可以再简单一点点

package main

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

func main(){
    rand.Seed(time.Now().UnixNano())
    fmt.Println("My random number is", rand.Intn(190))
}

随机数是由一个Source生成的,而Float64和Int这样的顶级函数默认是使用共享的Source的,Seed函数用来初始化默认的Source。
对于多Go程并发来说,默认的Source是安全的。

【注意】rand.Intn(190)是要生成一个[0-190)之间的整数。190的圆括号表示不包含190这个数字。

相关文章

  • 03. 数学运算的随机数

    总是要有使用随机数的情况。这就需要使用math包。 如果你运行这个程序,就会发现每次返回的随机数是不变的。因为运行...

  • ios中各种方法总结

    二、数学运算(math)函数2.1算术运算函数2.1.1rand()函数:产生随机数2.1.2abs()函数/la...

  • 函数速查

    第2章数学运算(math)函数 2.1算术运算函数 2.1.1rand()函数:产生随机数 2.1.2abs()函...

  • C数学运算函数

    第2章数学运算(math)函数 2.1算术运算函数 2.1.1rand()函数:产生随机数 2.1.2abs()函...

  • javascript 数组、对象

    训练一 随机数的数学运算 要求:生成一个0~ 100的随机数,并能够计算出其平方、平方根以及自然对数。 要点:Ma...

  • numpy基本操作手册

    numpy优点 ndarray(高性能数组) 用于对整数数组进行快速运算的标准数学函数 线性代数、随机数生成,统计...

  • 数字处理类

    数字格式化数字运算随机数大数字运算

  • numpy 通用函数2.0

    数组的变换,复制,索引,基本运算,堆叠,拆分,运算,随机数 数组形状:.T/.reshape()/.resize(...

  • Python函数

    数学函数 随机数函数

  • 模块

    模块-import 模块名 模块是其他人为完成常见任务而编写的一些代码,例如生成随机数字,执行数学运算等。 使用模...

网友评论

    本文标题:03. 数学运算的随机数

    本文链接:https://www.haomeiwen.com/subject/wamzlxtx.html