kotlin-stdlib-common 中随机性的来源

Source of randomness in kotlin-stdlib-common

在 kotlin-stdlib-common 中是否有开箱即用的随机源?是否可以使用标准 java.util.Randomkotlin.math.random* 或基本当前时间毫秒来创建我自己的随机数生成器?我找不到。

如果不存在,您如何在不设置自己的平台相关实现的情况下获得随机源?这是我唯一需要的方法:

expect class Rng {
    fun nextInt(): Int
}

我正在尝试使其与平台无关。

这可能是一个 post 链接很多,这可能会导致 Your answer is in another castle: when is an answer not an answer?, so I try my best to write the link description. And my understanding of Kotlin Multiplatform is Kotlin-Multiplatform = Kotlin-JVM + Kotlin-JS 的问题。

我认为Kotlin-JVM的随机数是由java.util.Random提供的,如果是Kotlin-JS则Math.Random(),原因如下:

并且,java.util.Random 被设计为独立于结果平台,也独立于实现平台,原因如下:

所以,我认为,

How would you get the source of randomness without setting your own platform dependent implementations?

也许足够随机的种子和足够随机的 (P)RNG。

答案是:等待 Kotlin 1.3 发布,公共库将丰富 类 和可以提供随机值来源的方法。

https://kotlinlang.org/docs/reference/whatsnew13.html#multiplatform-random