专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

三十二、Scala 教程: 匿名函数

文章永久连接:https://tech.souyunku.com/3031

Scala 中的 匿名函数 是没有方法名,也不用 def 定义的函数。一般匿名函数都是一个 表达式

因此 匿名函数 非常适合替换那些只用一次且任务简单的常规函数

匿名函数,会使得我们的代码变得更简洁了。

匿名函数的语法很简单,箭头左边是参数列表,右边是函数体。

定义匿名函数的语法为:

(param1,param2) => [expression]

下面的表达式就定义了一个接受一个Int类型输入参数的匿名函数:

var inc = (x:Int) => x+1

上述定义的匿名函数,其实是下面这个常规函数的简写:

def add(x:Int):Int {
    return x+1;
}

以上范例的 inc 现在可作为一个函数,使用方式如下:

var x = inc(7)-1

同样我们可以在匿名函数中定义多个参数:

var mul = (x: Int, y: Int) => x*y

mul 现在可作为一个函数,使用方式如下:

println(mul(3, 4))

我们也可以不给匿名函数设置参数,如下所示:

var userDir = () => { System.getProperty("user.dir") }

userDir 现在可作为一个函数,使用方式如下:

println( userDir() )

范例

object Demo {
   def main(args: Array[String]) {
      println( "multiplier(1) value = " +  multiplier(1) )
      println( "multiplier(2) value = " +  multiplier(2) )
   }
   var factor = 5
   val multiplier = (i:Int) => i * factor
}

编译执行上面的代码,输出为:

multiplier(1) value = 5
multiplier(2) value = 10

干货推荐

本站推荐:精选优质专栏

附录:Scala 教程:系列文章

未经允许不得转载:搜云库技术团队 » 三十二、Scala 教程: 匿名函数

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们