我想使用平台提供的默认参数值(JVM,JS等)来制作一些多平台函数。
我试图将const
关键字放入期望值/实际值,但编译器抱怨。
expect const val PLATFORM: String
expect fun printPlatform(value: String = PLATFORM)
actual const val PLATFORM: String = "JVM"
actual fun printPlatform(value: String) {
System.out.println("Platform: $value")
}
但是编译器抱怨:Const 'val' should have an initializer.
而且,如果我同时从这两个关键字中都删除了const
关键字,则性能可能会比以前低(实际上并不重要,但是..),编译器建议:Might be 'const'
。因此,我想使用const
关键字。
另外,如果我将默认值放在实际部分中,编译器也会抱怨。
我不能在期望/实际模式中使用const val
吗?
编辑:实际上,我实际上只使用JVM,但由于可能需要支持其他平台,所以我使用kotlin mpp。