当前位置: 首页 > news >正文

Lambda表达式详解

一 概念

  1. 无参数的情况 :
    val/var 变量名 = { 操作的代码 }

  2. 有参数的情况
    val/var 变量名 : (参数的类型,参数类型,…) -> 返回值类型 = {参数1,参数2,… -> 操作参数的代码 }

可等价于
// 此种写法:即表达式的返回值类型会根据操作的代码自推导出来。
val/var 变量名 = { 参数1 : 类型,参数2 : 类型, … -> 操作参数的代码 }

  1. lambda表达式作为函数中的参数的时候,这里举一个例子:
    fun test(a : Int, 参数名 : (参数1 : 类型,参数2 : 类型, … ) -> 表达式返回类型){

    }

二 lambda 语法结构
1 语法结构
{ 参数列表 -> 函数体 }
2 示例
示例:{ x: Int, y: Int -> x + y }
{a1:Int,b1:Int->a1+b1}

三 函数类型语法结构
(Int, Int) -> Int 表示接收两个 Int 参数并返回 Int 的函数类型;
(String) -> Unit 表示接收 String 参数且无返回值的函数类型156。

三 匿名函数的基本定义
1 无名称的函数
匿名函数使用 fun 关键字定义,但没有函数名。例如:
val add = fun(x: Int, y: Int): Int { return x + y }

单表达式简化
当函数体是单一表达式时,可省略大括号和返回类型声明:
val add = fun(x: Int, y: Int) = x + y

四 匿名函数和lambda表达式的关系

1 匿名函数:通过 fun 关键字显式定义参数和返回值类型,适合复杂逻辑。

val sum = fun(a: Int, b: Int): Int { return a + b }

2 Lambda 表达式:是匿名函数的语法糖,省略了 fun 关键字,适合简洁场景。

val sum = { a: Int, b: Int -> a + b }

四 总结
• Lambda 表达式是 Kotlin 函数式编程的核心,提供简洁的匿名函数写法。
• 适用于:集合操作、事件回调、DSL 构建等场景。
• 核心规则:{ 参数 -> 函数体 },支持类型推断和简化语法。

参考
https://www.cnblogs.com/Jetictors/p/8647888.html

相关文章:

  • 工业自动化核心:BM100 信号隔离器的强大力量
  • Oracle RAC配置原理详解:构建高可用与高性能的数据库集群
  • 在 Docker 中搭建GBase 8s主备集群环境
  • 002-SpringCloud-OpenFeign(远程调用)
  • OpenCV计算摄影学(17)两个图像之间执行无缝克隆操作函数 seamlessClone()
  • 设计模式-结构型模式-适配器模式
  • 【SpringMVC】深入解析@ RequestMapping 注解的概念及使用和 MVC 介绍
  • 利用可变参数模板,可打印任意参数和参数值。(C++很好的调式函数)
  • Deepseek可以通过多种方式帮助CAD加速工作
  • Docker和DockerCompose基础教程及安装教程
  • dify中使用NL2SQL
  • Java直通车系列15【Spring MVC】(ModelAndView 使用)
  • 计算机视觉|从0到1揭秘Diffusion:图像生成领域的新革命
  • SpreadVue实现内置excel在线编辑并保存为后端可以接受的json格式
  • Centos操作系统大全(附ISO镜像下载)
  • 电商项目-秒杀系统(五) 秒杀下单接口限流
  • 使用Modelsim手动仿真
  • 题目 3217 ⭐成绩统计⭐【滑动窗口 + 二分搜索】蓝桥杯2024年第十五届省赛
  • 大白话 CSS 中transform属性的常见变换类型(平移、旋转、缩放等)及使用场景
  • 管理 SELinux 安全性
  • 网站调用网页怎么做/北京建站工作室
  • 自动推广工具/seo优化教学视频
  • 鞍山+网站建设/整站优化
  • 哪个网站做汽车保养比较好/上海seo排名
  • 做垂直行业网站利润分析/2345手机浏览器
  • 来宾建设工程造价网站/外贸seo推广公司