我在参考文献中找不到任何解释,但是当我在IntelliJ IDEA中输入impl
时,我收到错误:
它似乎被视为一个保留字,但是它的用途是什么?
我试过在impl
之后添加了很多东西,但我每次都会得到错误。
更新:在Kotlin 1.2之后,它已重命名为expect
。
答案 0 :(得分:9)
这是未来的多平台项目支持,它是@hotkey在评论here中解释的header
关键字对。它出现在Andrey Breslav的一个演示文稿中,您可以找到here,这个特定的主题始于14:25。
简而言之,他提出的基本思想是你可以在你的平台之间共享一个共同的模块,其中有一些声明但未实现的函数,并标有header
关键词。然后,对于不同的平台(JVM,JS等),您可以使用以平台特定方式实现这些功能的单独模块 - 这些实际实现是使用impl
关键字的位置。
他说整个系统现在只是一个内部原型,所以这个演示可能就是我们所有关于它的公开信息。我也对这个机制的更多细节感兴趣:)
更新:截至Kotlin 1.2 Beta,这些关键字现已替换为expect
和actual
。