golang随机数有一个很好玩的地方,如果我们不自行定义随机数种子的话,每次的随机数都是一样的。
比如我们for循环,取8个随机数,每次运行结果是一模一样的。代码如下:
package main
import (
"fmt"
"math/rand"
)
var c chan int
func product(){
r := rand.Intn(10)
fmt.Println("随机数: ", r)
c <- r
}
func main(){
c = make(chan int, 8)
for i:= 0; i<8; i++{
go product()
}
total := 0
for i:= 0; i<8; i++{
total += <- c
}
fmt.Println("总和: ", total)
}
结果如下:
? src go run index.go
随机数: 9
随机数: 7
随机数: 7
随机数: 1
随机数: 8
随机数: 5
随机数: 1
随机数: 0
总和: 38
? src go run index.go
随机数: 7
随机数: 8
随机数: 5
随机数: 1
随机数: 0
随机数: 1
随机数: 9
随机数: 7
总和: 38
? src go run index.go
随机数: 1
随机数: 8
随机数: 1
随机数: 5
随机数: 7
随机数: 0
随机数: 7
随机数: 9
总和: 38
? src go run index.go
随机数: 7
随机数: 1
随机
关于golang随机数的一个好玩的事情
来源:互联网 时间:2019/7/1 22:07:22
- 明星图片