inline function

This commit is contained in:
luming 2021-07-01 16:02:09 +08:00
parent 7df2044775
commit 5942a0e243

View File

@ -15,8 +15,9 @@ fun main(args: Array<String>) {
var lock = ReentrantLock() var lock = ReentrantLock()
check(lock) { check(lock) {
println("内联函数") println("内联函数方法体")
} }
check { it == 2 }
} }
inline fun <T> check(lock: Lock, body: () -> T): T { inline fun <T> check(lock: Lock, body: () -> T): T {
@ -26,4 +27,12 @@ inline fun <T> check(lock: Lock, body: () -> T): T {
} finally { } finally {
lock.unlock() lock.unlock()
} }
}
inline fun check(noinline function: (Int) -> Boolean){
test(function)
}
fun test(function: (Int) -> Boolean){
println("编译通过")
} }