在Kotlin中声明常量-在编译时调用函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Kotlin中声明常量-在编译时调用函数相关的知识,希望对你有一定的参考价值。

对于编译时常量,有办法吗?>

const val myAngle = Math.toRadians(45.0)

[不直接在代码中包含Math.toRadians功能逻辑

const val myAngle = 45.0 / 180.0 * Math.PI

并且无需事先进行计算

const val myAngle = Math.PI / 2 // 45.0 degrees

即有没有一种在编译时调用Math.toRadians的方法?

Edit

-我的用例:我试图创建一些角度常数,我想以度为单位输入它们,但我希望存储的常数以弧度为单位。

对于编译时常量,有一种方法可以执行const val myAngle = Math.toRadians(45.0),而无需在代码const val myAngle = 45.0 / 180.0 * ...中直接包含Math.toRadians函数逻辑。

答案

没有这样做的原因是不能保证任何函数的返回值都是常量(可以在编译时计算)。

以上是关于在Kotlin中声明常量-在编译时调用函数的主要内容,如果未能解决你的问题,请参考以下文章

inline内联函数

如何在类似于Java的kotlin中声明常量[重复]

使用片段导航(导航图)导航时调用目标片段的函数/方法

在编译时调用的 Python 装饰器函数

从零开始学Kotlin-枚举

Kotlin 变量和常量的声明(var和val)