kotlin 作用域函数run

测试下run函数:

Kotlin 复制代码
fun main() {
    testRun()
}

class Person {
    var name: String = ""
    var age: Int = 0
}

fun testRun() {
    val panJingLian = Person()
   val isAult = panJingLian.run { // 上下文引用:this(可省略); 
        name = "潘金莲"
        age = 22
        age >= 18 // 返回代码块最后一行结果;
    }
   println("我是${panJingLian.name}, ${if(isAult) "我已成年" else "我还未成年"}。")
   
   // 还可以这样,没有上下文,直接调用run函数:
   val str = run {
    val str1 = "我堂堂吕布,"
    val str2 = "怎么成了三姓家奴?"
    str1 + str2 // 返回最后一个表达式的值
   }
   println(str)
}

运行:

ok.

相关推荐
yaoxin5211231 天前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
凡人叶枫1 天前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
学逆向的1 天前
C++纯虚函数
开发语言·c++·网络安全
程序员二叉1 天前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉1 天前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
凡人叶枫1 天前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
Qt程序员1 天前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言
code bean1 天前
【LangChain】检索器完全指南:从向量检索到生产级 RAG 架构
java·开发语言·微服务
LabVIEW开发1 天前
LabVIEW + MATLAB 混合编程:爆炸场测试数据精准采集方案
开发语言·matlab·labview
嵌入式协会20240721 天前
(已解决)MinIO python 获取预签名出现forbidden、errornetwork等错误
java·开发语言·python