我是Kotlin的新手,当我读到let
的实现时,我看到了这一点:
contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE)
}
return block(this)
这里contract
是什么?调用该方法是否有任何效率成本?
我无法在自己的项目中致电contract
,因为它是internal
..
答案 0 :(得分:4)
contract
是将在未来版本的Kotlin编译器中使用的其他元数据,以便更好地进行代码分析。联系人注释在Kotlin 1.2.x中没有任何影响。