Kotlin闭包是如何实现函数内访问外部变量及其工作原理?