Scala:函数与匿名函数

函数是第一等公民

  • 在scala中,函数是第一等公民
  • Scala中,函数和变量有同等的位置,或者说函数也是一种变量。
  • Scala中的函数可以作为实参传递给另一个函数;
  • 函数可以作为返回值;
  • 函数可以赋值给变量(这个变量需符合函数的类型的变量);
  • 函数可以存储在数据结构之中。

⚠️函数如同普通变量一样,也具有函数的类型。

函数类型

  1. 函数类型格式为:A=>B 表示一个接受类型A的参数,并返回类型B的函数

  2. Int => String,把整形数映射为String类型的函数类型。

高阶函数

  • 接受的参数是一个函数,或者返回值是一个参数,或者两者皆有之的函数,称为高阶函数。

例如:下列函数是以另一个函数(f)作为参数接入

def operate(f:(Int,Int) => Int ) = {
	f(4,4)
}
  • ⚠️f函数是以两个int类型的值作为参数,并返回一个int值

匿名函数

例如:

def greeting( ) = (name:String) => {"hello" + " " + name}

匿名函数也称为函数常量,也称函数文字量(类比String)。
定义格式:

(形参列表) => {函数体}

如:

(x:Int, y:Int) => x+y
val fun = (x:Int, y:Int) => x+y
var funr = (x:Int, y:Int) => x+y

上面三句都是可以使用的。
fun不能重新赋值,funr可以赋值其他的类型为(Int, Int)=>Int的函数。

代码:

package com.leili.scala

object Function {
  def main(args: Array[String]): Unit = {
    var x  = (x: Int, y: Int) => {
      x + y}
    println(x(1,1))
  }
}

输出:4

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值