Kotlin Contract(契约)

虽然kotlin有智能推断功能,但是有时候还是有些代码没有办法进行推断,因此,诞生了Contract(契约)功能,不过目前该功能还是实验功能(ExperimentalContracts),其使用可以参考 applylet等功能,kotlin源码中有大量的Contract(契约),示例如下:
另外经过尝试,该函数可以写成顶层函数或者类中,但是不能在函数中定义契约函数。尝试版本为1.6

@ExperimentalContracts
fun isNull(value: String ?= null): Boolean {
    contract {
        returns(true) implies (value != null)
    }
    return value != null
}

具体使用可以参考以下链接
JetBrains开发者日见闻(二)之Kotlin1.3的新特性(Contract契约与协程篇)
https://blog.csdn.net/u013064109/article/details/84782206

上一篇:1083 List Grades (25point(s))


下一篇:Java调用智能合约