kotlin - `impl` 在 Kotlin 中是什么意思?

标签 kotlin

我在引用资料中没有找到任何解释,但是当我在 IntelliJ IDEA 中键入 impl 时,出现错误:

好像被当作保留字处理了,但它是干什么用的呢? 我尝试在 impl 之后放置多种东西,但每次都会出错。

更新:在 Kotlin 1.2 之后重命名为 expect

最佳答案

这是为了 future 的多平台项目支持,它是 @hotkey 在他们的评论 here 中解释的 header 关键字对.它出现在 Andrey Breslav 的一个演示文稿中,您可以找到 here ,这个特定的话题从 14:25 开始。

简单总结一下,他提出的基本思想是,你可以在你的平台之间共享一个公共(public)模块,其中有一些声明但未实现的功能,并用 header 关键字。然后,对于不同的平台(JVM、JS 等),您可以有单独的模块以特定于平台的方式实现这些功能 - 这些实际实现是使用 impl 关键字的地方。

His slide about it

他说整个系统现在只是一个内部原型(prototype),所以这个演示文稿可能是我们掌握的所有关于它的公共(public)信息。不过,我也对有关此机制的更多详细信息感兴趣:)


更新:从 Kotlin 1.2 Beta 开始,这些关键字现在已替换为 expectactual

关于kotlin - `impl` 在 Kotlin 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44217331/

相关文章:

mockito - 使用 Kotlin 和 Mockito 模拟接口(interface)

class - kotlin,如何从函数返回类类型

kotlin - 你能在 Kotlin 的 stringRequest 变量之外获取 Volley 的响应数据吗?

dictionary - Kotlin 是否有 Map 文字的语法?

java - android 实用地更改设备屏幕分辨率

java - 无法在 ListView 中跳过一行

java - 使用kotlin的android项目中没有这样的字段错误

kotlin - 从数据库读取的缓存属性

android - Room db-按别名排序无法在分组依据查询中使用

validation - Kotlin 验证条目和长度的编辑文本