1

我想做一些多平台功能,使用平台提供的默认参数值(JVM,JS,...)。

我试图将const关键字放入期望/实际值,但编译器抱怨。

  • 共同部分:
expect const val PLATFORM: String
expect fun printPlatform(value: String = PLATFORM)
  • 实际部分(在jvm中):
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 因为我可能必须支持其他平台。

4

0 回答 0