Scala的函数的闭包

闭包是:一个函数连同该函数的非局部变量的一个引用环境。

函数和变量的定义要在同一个作用域,函数可以引用已经创建的变量,函数可以同值一样被传递和应用,当执行函数时该函数仍然引用着变量。

Scala 复制代码
object Test888 {
  //把函数当做返回值
  def main(args: Array[String]): Unit = {
    //f是一个函数,它的返回值也是一个函数
    var f=(x:Int)=>{
      //对于fn来说,x就是一个非局部变量,x+fn就会构成一个闭包结构
      var fn=(y:Int)=>x+y
      fn
    }

    var s=f(2)//s是一个函数
    var res=s(100)//102
    var res1=s(88)//?
    println(res,res1)
  }

}
相关推荐
小书房2 分钟前
Kotlin使用体验及理解1
android·开发语言·kotlin
流觞 无依3 分钟前
Spring Boot 未授权访问漏洞排查与修复指南
java·spring boot·后端
Java开发的小李5 分钟前
SpringBoot 高流量高并发 基础全面讲解
java·spring boot·后端·性能优化
Kqwert9 分钟前
C# PDF转图片工具类 - 基于Docnet和SkiaSharp的实现
后端
随风,奔跑10 分钟前
Spring Cloud Alibaba(六)-链路追踪SkyWalking
java·后端·spring·skywalking
铁皮饭盒11 分钟前
成为AI全栈 - 第1课:后端到底是干嘛的?一张图拆解登录
前端·后端·ai编程
勤劳的进取家11 分钟前
传输层基础
运维·开发语言·学习·php
wangbing112514 分钟前
Java处理csv文件总是丢数据
java·开发语言·python
Flynt15 分钟前
LangGraph 生产环境跑了三个月,我的真实感受
后端
Rust语言中文社区15 分钟前
【Rust日报】2026-04-28 Pacquet:pnpm 的 Rust 重写版本
开发语言·后端·rust