什么“impl”在Kotlin中意味着什么?

时间:2017-05-27 13:18:22

标签: kotlin

我在参考文献中找不到任何解释,但是当我在IntelliJ IDEA中输入impl时,我收到错误:

它似乎被视为一个保留字,但是它的用途是什么? 我试过在impl之后添加了很多东西,但我每次都会得到错误。

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

1 个答案:

答案 0 :(得分:9)

这是未来的多平台项目支持,它是@hotkey在评论here中解释的header关键字对。它出现在Andrey Breslav的一个演示文稿中,您可以找到here,这个特定的主题始于14:25。

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

His slide about it

他说整个系统现在只是一个内部原型,所以这个演示可能就是我们所有关于它的公开信息。我也对这个机制的更多细节感兴趣:)

更新:截至Kotlin 1.2 Beta,这些关键字现已替换为expectactual