news 2026/6/15 17:01:12

一文搞懂Kotlin的let、with、run、apply、also标准函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一文搞懂Kotlin的let、with、run、apply、also标准函数

Kotlin 里有五个“看似相似、实则各有门派”的函数:let、with、run、apply、also。

它们是 Kotlin 官方定义的“标准函数(Standard Functions)”,

可是在面试中,它们也是让人最头疼的考点之一:

“run 和 apply 有什么区别?”
“什么时候用 let 比 also 更合适?”
with 为什么几乎不推荐用了?”

一、let — 最常用的空安全与链式利器

定义

inline fun <T, R> T.let(block: (T) -> R): R

把当前对象(this)作为参数 it 传入 block 中执行,返回 block 的结果。

使用场景 1:空安全

user?.let { println("User name: ${it.name}") }

只有在 user 非空时才执行,防止空指针异常(NullPointerException)。

使用场景 2:链式操作

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 14:58:49

【系统架构师备考笔记】005 信息系统的分类与应用

本笔记基于提供的技术文章大纲编写&#xff0c;旨在帮助学员系统理解信息系统的六种主要类型及其应用。笔记聚焦于核心概念、功能特点和应用场景&#xff0c;便于记忆和复习。内容结构清晰&#xff0c;从基础操作层系统到高层集成系统逐步展开&#xff0c;最后总结比较和未来趋…

作者头像 李华
网站建设 2026/6/15 9:31:32

深度学习毕设项目推荐-基于python深度学习卷积网络训练识别核桃好坏

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/15 10:26:04

Eclipse 视图(View)

Eclipse 视图(View) 引言 Eclipse 是一个功能强大的集成开发环境(IDE),广泛应用于 Java、C/C++、PHP、Python 等多种编程语言。Eclipse 视图(View)是其用户界面的重要组成部分,提供了丰富的功能模块,使得开发者可以更高效地完成软件开发工作。本文将详细介绍 Eclipse …

作者头像 李华
网站建设 2026/6/15 10:23:52

基因过表达细胞系构建与应用全攻略 | 稳定转染技术 | 功能验证方法 | 细胞模型构建 | 蛋白表达优化

基因过表达技术是分子细胞生物学研究中的基础方法之一。通过在细胞中持续高水平表达特定基因&#xff0c;研究者能够系统探究该基因在细胞功能调控中的作用机制。相较于瞬时转染&#xff0c;稳定过表达细胞系具有表达稳定性高、细胞群体均质性好、实验结果可重复性强等技术优势…

作者头像 李华
网站建设 2026/6/15 15:18:12

别再当“性能指标控”:用 Python 构建一个真正有用的 AI 伦理分析系统

别再当“性能指标控”:用 Python 构建一个真正有用的 AI 伦理分析系统 大家好,我是 Echo_Wish。今天我们聊点严肃又接地气的技术话题: 如何用 Python 构建一个 AI 伦理分析系统? 你可能会问: “AI 伦理不是抽象的价值判断吗?跟代码能搞到一起?” 答案是: 能,而且必须…

作者头像 李华
网站建设 2026/6/15 10:27:37

30+ QA面试常见问题与应答解析

对于软件测试领域的求职者而言,面试常常伴随着压力。充分的准备无疑是提升自信、应对挑战的最佳方式。本文整理了超过30 个常见的质量保证与软件测试面试问题及参考答案,旨在帮助求职者系统地回顾关键概念。 这些问题已按难度、类型和职位角色(如QA经理、QA主管、QA测试工程…

作者头像 李华