`kotlin.internal.contracts.ContractBuilderKt #contract`如何在Kotlin工作?

时间:2018-04-09 08:55:11

标签: kotlin

我是Kotlin的新手,当我读到let的实现时,我看到了这一点:

contract {
    callsInPlace(block, InvocationKind.EXACTLY_ONCE)
}
return block(this)

这里contract是什么?调用该方法是否有任何效率成本?

我无法在自己的项目中致电contract,因为它是internal ..

1 个答案:

答案 0 :(得分:4)

contract是将在未来版本的Kotlin编译器中使用的其他元数据,以便更好地进行代码分析。联系人注释在Kotlin 1.2.x中没有任何影响。