我在引用资料中没有找到任何解释,但是当我在 IntelliJ IDEA 中键入 impl
时,出现错误:
好像被当作保留字处理了,但它是干什么用的呢?
我尝试在 impl
之后放置多种东西,但每次都会出错。
更新:在 Kotlin 1.2 之后重命名为 expect
。
最佳答案
这是为了 future 的多平台项目支持,它是 @hotkey 在他们的评论 here 中解释的 header
关键字对.它出现在 Andrey Breslav 的一个演示文稿中,您可以找到 here ,这个特定的话题从 14:25 开始。
简单总结一下,他提出的基本思想是,你可以在你的平台之间共享一个公共(public)模块,其中有一些声明但未实现的功能,并用 header
关键字。然后,对于不同的平台(JVM、JS 等),您可以有单独的模块以特定于平台的方式实现这些功能 - 这些实际实现是使用 impl
关键字的地方。
他说整个系统现在只是一个内部原型(prototype),所以这个演示文稿可能是我们掌握的所有关于它的公共(public)信息。不过,我也对有关此机制的更多详细信息感兴趣:)
更新:从 Kotlin 1.2 Beta 开始,这些关键字现在已替换为 expect
和 actual
。
关于kotlin - `impl` 在 Kotlin 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44217331/