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