diff --git a/src/senior/Lambda/InlineFunc.kt b/src/senior/Lambda/InlineFunc.kt index ba7c7b3..5caeac1 100644 --- a/src/senior/Lambda/InlineFunc.kt +++ b/src/senior/Lambda/InlineFunc.kt @@ -15,8 +15,9 @@ fun main(args: Array) { var lock = ReentrantLock() check(lock) { - println("内联函数") + println("内联函数方法体") } + check { it == 2 } } inline fun check(lock: Lock, body: () -> T): T { @@ -26,4 +27,12 @@ inline fun check(lock: Lock, body: () -> T): T { } finally { lock.unlock() } +} + +inline fun check(noinline function: (Int) -> Boolean){ + test(function) +} + +fun test(function: (Int) -> Boolean){ + println("编译通过") } \ No newline at end of file