2

在 kotlin-stdlib-common 中是否有任何开箱即用的随机性来源?无论是标准的一些实现java.util.Randomkotlin.math.random*还是我可以用来创建自己的随机数生成器的基本当前时间毫秒?我找不到任何东西。

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

expect class Rng {
    fun nextInt(): Int
}

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

4

2 回答 2

1

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

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

于 2018-10-29T23:37:05.560 回答
-1

这可能是一个包含许多链接的帖子,这可能会导致您的答案在另一座城堡中的问题:什么时候答案不是答案?,所以我尽力写链接描述。而我对Kotlin Multiplatform的理解是Kotlin-Multiplatform = Kotlin-JVM + Kotlin-JS

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

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

所以我认为,

如果不设置自己的平台相关实现,您将如何获得随机性的来源?

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

于 2018-07-14T08:38:15.363 回答