@kotlin.internal.InlineOnly public inline funrun(block: () -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) } return block() }
@kotlin.internal.InlineOnly public inline funT.let(block: (T) -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) } return block(this) }
@kotlin.internal.InlineOnly public inline funT.apply(block: T.() -> Unit): T { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) } block() return this }
@kotlin.internal.InlineOnly public inline funwith(receiver: T, block: T.() -> R): R { contract { callsInPlace(block, InvocationKind.EXACTLY_ONCE) } return receiver.block() }
@kotlin.internal.InlineOnly
@SinceKotlin("1.1")
public inline fun T.also(block: (T) -> Unit): T {
contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE)
}
block(this)
return this
}
源码点进去就能看到Standard.kt类中。许多扩展函数像list的First()、takeLast()、takeLastWhile()、reversed()forEach(),String的isNotBlank()、iterator()、takeIf()判断条件等。举例就像forEach(),我们点进去看看
发现里面For循环 OO



