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.

相关推荐
她说..21 小时前
Java 对象相关高频面试题
java·开发语言·spring·java-ee
watson_pillow21 小时前
c++ 协程的初步理解
开发语言·c++
庞轩px21 小时前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器
故事和你911 天前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
白毛大侠1 天前
理解 Go 接口:eface 与 iface 的区别及动态性解析
开发语言·网络·golang
李昊哲小课1 天前
Python办公自动化教程 - 第7章 综合实战案例 - 企业销售管理系统
开发语言·python·数据分析·excel·数据可视化·openpyxl
Hou'1 天前
从0到1的C语言传奇之路
c语言·开发语言
不知名的老吴1 天前
返回None还是空集合?防御式编程的关键细节
开发语言·python
迈巴赫车主1 天前
蓝桥杯3500阶乘求和java
java·开发语言·数据结构·职场和发展·蓝桥杯
小菜鸡桃蛋狗1 天前
C++——string(上)
开发语言·c++