Go语言中的math/rand包中,rand.Intn方法,Intn是什么单词的缩写。

rand我知道是random的简写,但是Intn是什么单词缩写?知道是哪个单词,方法好记一点。

阅读 8.5k
5 个回答

首先打开官方文档:https://pkg.go.dev/math/rand

可以看到 *Rand 提供了很多方法,其中有一些方法它是成对出现的,例如:Int()Intn(n int),或者是 Int31Int31n(n int32),又或者是 Int63Int63n(n int64)

可以看到 IntIntn 方法的区别就是前者无需参数,后者需要传个参数 n,再看看文档的说明:

Int

Int returns a non-negative pseudo-random int.

翻译一下: Int 方法将返回一个非负的伪随机 int 类型的数

以及 Intn

Intn returns, as an int, a non-negative pseudo-random number in the half-open interval [0,n). It panics if n <= 0.

翻译一下: Intn 方法将返回一个非负伪随机数,其值范围在半开区间 [0, n)。如果传入的 n <= 0,将会 panic

所以 Intn 可以这样记:Intn = Int + n,表示生成一个值在区间 [0, n)Int 数。其他的 Int31nInt63n 同理

Int 是 Integer。

n 就是 n,也即你传入的那个参数。

意为随机生成一个比 n 小的 Integer。

P.S. 你要得说得是个缩写的话,理解成 IntegerLessThanN 的缩写也行。

Intn 是指 Int(n),再结合前面的 rand,可以理解为 rand int by n。一般随机数算法给定参数 n 都是指随机生成 [0, n) 间的数。所以结合起来就是产生 [0, n) 的随机整数。

数学里 用n表示自然数 0 ~ ∞,猜测大概意思是,生成正整数的方法吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题