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.

相关推荐
AI人工智能+电脑小能手几秒前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
社交怪人27 分钟前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言
郭涤生1 小时前
不同主机之间网络通信-以太网连接复习
开发语言·rk3588
山居秋暝LS1 小时前
【无标题】RTX00安装paddle OCR,win11不能装最新的,也不能用GPU
开发语言·r语言
卢锡荣1 小时前
单芯通吃,盲插标杆 —— 乐得瑞 LDR6020,Type‑C 全场景互联 “智慧芯”
c语言·开发语言·计算机外设
Xin_ye100861 小时前
C# 零基础到精通教程 - 第七章:面向对象编程(入门)——类与对象
开发语言·c#
赏金术士2 小时前
第七章:状态管理实战与架构总结
android·ui·kotlin·compose
AI科技星2 小时前
《数学公理体系·第三部·数术几何》(2026 年版)
c语言·开发语言·线性代数·算法·矩阵·量子计算·agi
审判长烧鸡2 小时前
【Go工具】go-playground是什么组织?官方的?
开发语言·安全·go
kkeeper~2 小时前
0基础C语言积跬步之字符函数与字符串函数(上)
c语言·开发语言