如文档中所述,kotlin 1.2 中没有 kotlin.Math class
No kotlin.Math class in kotlin 1.2 as it is said in the documentation
我最近一直在和kotlin multiplatform打交道,我完全理解开发的本质。最初,我有自己预期的 Math class(在公共模块中),并且在 JS 和 JVM 环境中有实际的 classes。
因为我喜欢看文档,所以我发现从kotlin 1.2开始标准库就加入了Math库。这让我很困扰,因为我正在使用 kotlin 1.2.51,并且在我的公共模块和任何平台特定模块中尝试从 kotlin.Math 访问 class 时出错。
我没有得到什么?如何访问我的公共模块中的 kotlin.Math class?
像这样导入:import kotlin.math.*
Math
-class 已弃用,弃用消息包含:
Use top-level functions from kotlin.math package instead.
(另见 https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-math/index.html)
所以@mTak 的答案不知何故是正确的,即使没有提到,你应该使用 kotlin.math.*
-import instead Math
-class.
或者,您也可以导入 kotlin.math.max
等,具体取决于您实际需要的功能。
我想得越多:我不知道 Kotlin 的 jvm 变体中是否有 Math
-class(找不到任何相关信息)并且所以在多平台项目中,Math
-class-access 应该总是失败。
在 Kotlin 标准库中,数学函数在 kotlin.math
包中作为顶级函数提供。
因此您需要导入该包,然后您就可以使用其中的函数,例如 sin
、sqrt
等等。
import kotlin.math.*
val sqrt2 = sqrt(2.0)
您也可以一个一个导入函数,例如import kotlin.math.sqrt
甚至称他们完全合格 val result = kotlin.math.sqrt(2.0)
过了一会儿(我什至觉得自己很傻)。我发现kotlin公共模块中的kotlin.math库已经添加了。唯一的区别是,它没有我通常习惯的 'Math.' 前身。
所以,
Math.round(x: Float) 就是 round(x: Float)
Math.sin(x: Float) 只是 sin(x: Float)
我最近一直在和kotlin multiplatform打交道,我完全理解开发的本质。最初,我有自己预期的 Math class(在公共模块中),并且在 JS 和 JVM 环境中有实际的 classes。
因为我喜欢看文档,所以我发现从kotlin 1.2开始标准库就加入了Math库。这让我很困扰,因为我正在使用 kotlin 1.2.51,并且在我的公共模块和任何平台特定模块中尝试从 kotlin.Math 访问 class 时出错。
我没有得到什么?如何访问我的公共模块中的 kotlin.Math class?
像这样导入:import kotlin.math.*
Math
-class 已弃用,弃用消息包含:
Use top-level functions from kotlin.math package instead.
(另见 https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-math/index.html)
所以@mTak 的答案不知何故是正确的,即使没有提到,你应该使用 kotlin.math.*
-import instead Math
-class.
或者,您也可以导入 kotlin.math.max
等,具体取决于您实际需要的功能。
我想得越多:我不知道 Kotlin 的 jvm 变体中是否有 Math
-class(找不到任何相关信息)并且所以在多平台项目中,Math
-class-access 应该总是失败。
在 Kotlin 标准库中,数学函数在 kotlin.math
包中作为顶级函数提供。
因此您需要导入该包,然后您就可以使用其中的函数,例如 sin
、sqrt
等等。
import kotlin.math.*
val sqrt2 = sqrt(2.0)
您也可以一个一个导入函数,例如import kotlin.math.sqrt
甚至称他们完全合格 val result = kotlin.math.sqrt(2.0)
过了一会儿(我什至觉得自己很傻)。我发现kotlin公共模块中的kotlin.math库已经添加了。唯一的区别是,它没有我通常习惯的 'Math.' 前身。
所以,
Math.round(x: Float) 就是 round(x: Float)
Math.sin(x: Float) 只是 sin(x: Float)