kotlin 延迟属性

直接测试下:

Kotlin 复制代码
val myZuoYouMing: String by lazy {
    println("万里长城永不倒")
    println("千里黄河水滔滔")
    "江山秀丽叠彩峰岭"
    "问我国家哪像染病"
}

fun main() {
    val zym = myZuoYouMing
    println(zym)
    println("...........")
    val zym2 = myZuoYouMing
    println(zym2)
}

打印:

ok. lazy是一个lambda表达式,返回最后一个表达式的值。第一次调用时执行lambda表达式,后续再调用直接返回值。

相关推荐
认真的酒窝5 小时前
自己动手开发编译器(十一)语义分析
java·开发语言
wbs_scy6 小时前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录9176 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
贪玩的蛋挞7 小时前
C#与闭包
开发语言·c#
端庄的战斗机7 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
Full Stack Developme8 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
C语言小火车9 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
机智的张尼玛9 小时前
我基于 Kotlin Multiplatform 实现了一套跨平台的弱网离线同步引擎
android·开源·kotlin
北冥you鱼9 小时前
abigen 最佳实践:从入门到精通,高效生成 Go 语言合约绑定
开发语言·golang·区块链
ALex_zry10 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++