【问题标题】:data classes in Kotlin multiplatform programmingKotlin 多平台编程中的数据类
【发布时间】:2019-04-25 19:29:49
【问题描述】:

我是 kotlin 的新手,想构建一个多平台应用程序。 对于公共部分,我想使用包含平台特定功能的数据类。

是否可以在特定于平台的声明中使用 kotlin 数据类?

类似

expect data class Foo(val bar: String)

最好的问候

【问题讨论】:

  • 您认为expect data class 和expect class 之间的区别是什么?

标签: kotlin kotlin-multiplatform


【解决方案1】:

来自 Platform Specific Declarations 上的 Kotlin 文档:

预期的声明从不包含任何实现代码。

由于数据类生成实现,它们不能在expect 声明中使用。 actual 实现可以是一个数据类,因为它不会改变声明类的语义。

【讨论】:

  • 也许可以使用expected fun Foo.platformSpecificFun(...) 来丰富数据类。
  • 哦,是的,构造函数...谢谢!仅将平台特定类声明为数据类对我有用
【解决方案2】:
expect class Some {}

actual data class Some(val test: UUID)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    相关资源
    最近更新 更多