kotlin-multiplatform - Kotlin 期望实际的数据类型
问题描述
是否可以在 commonMain 中定义数据类型的期望,然后在 jvmMain 或 jsMain 中提供实际数据类型?
例如,假设我想在 commonMain 类中的 JavaScript 和 Java 中使用 Date 的本地数据类型:
// commonMain
expect datatype Date
// jsMain
actual datatype Date = Date()
// jvmMain
actual datatype Date = LocalDate()
这样的事情可能吗?如果是这样,语法是什么样的?
解决方案
它们基本上是类。所以这里是语法
//commonMain [Date.kt]
expect class Date
//jsMain [Date.kt]
actual typealias Date = kotlin.js.Date //this one implements the js date
//jvmMain [Date.kt]
actual typealias Date = java.util.Date //or you can use the java.time.LocalDateTime
希望这可以帮助
推荐阅读
- python - /search/ 函数相似性处的 ProgrammingError
- azure-synapse - 通过托管标识通过 Synapse 访问 Azure 存储帐户
- asp.net - CS0433:ServiceStack 和 System.Web 中都存在“IHttpHandler”类型
- gmail-api - Google API FAILED_PRECONDITION 前置条件检查失败
- sql - 用于查找 count > 2 的所有单个记录的 SQL 查询
- javascript - 带有进程内存模型的 JavaScript 内存模型
- node.js - 从 NodeJS 中的国家和州获取时区
- python - 检查是否已发送电子邮件并打开 .exe 的 Python 脚本
- crash - 致命错误:找不到“breakpad-main/src/client/linux/handler/minidump_descriptor.h”文件
- visual-studio-code - 使用 VS 代码命令行界面 (CLI) 打开 Raspberry Pi 网络附加存储 (NAS) 上的文件夹时权限被拒绝