golang取两个数字之间的随机数

别人说我名字很长 ·
代码测试后发现个问题。 修改如下: ```go func RandInt64(min,max int64) int64{ maxBigInt:=big.NewInt(max) i,_:=rand.Int(rand.Reader,maxBigInt) iInt64 := i.Int64() if iInt64 < min{ iInt64 = RandInt64(min,max)//应该用参数接一下 } return iInt64 } ```
#2
更多评论
qkb_75_go
琴为心声
工作关系,个人对 int64 和 math/big 用得比较少。 高性能FPGA开发,16进制数位宽都很大,主数据通道的位宽有512bit, 别的语言根本没有想象到有这种东西吧。 最后,也只能是用 字符串 实现呀。
#1
为什么不简单点算呢? ```go package main import ( "fmt" "math/rand" "time" ) func main() { fmt.Println(RandInt64(100, 101)) fmt.Println(RandInt64(100, 200)) } func RandInt64(min, max int64) int64 { rand.Seed(time.Now().UnixNano()) return min + rand.Int63n(max-min) } ```
#3