Scala函数作为参数传递

作用

  • 扩展函数的功能
  • 提高函数的灵活度

需求

                定义一个函数,传入数组类型的参数和一个函数,对数组中每个值分别进行运算后返回。

代码

// 函数类型的参数声明格式: 函数名: (参数类型) => 返回值类型
def fun(arr: Array[Int], op: (Int) => Int): Array[Int] = {
  for (elem <- arr) yield op(elem)
}

def addOne(x: Int): Int = {
  x + 1
}

// 一般方式调用
val res1: Array[Int] = fun(Array(1, 2, 3, 4, 5), addOne)
println(res1.mkString(","))

// 匿名函数方式调用   (参数列表) => {函数体}
val res2: Array[Int] = fun(Array(1, 2, 3, 4, 5), (x: Int) => {x + 1})
println(res2.mkString(","))

// 匿名函数简化
val res3: Array[Int] = fun(Array(1, 2, 3, 4, 5), x => x *2)
println(res3.mkString(","))

// 再简化
val res4: Array[Int] = fun(Array(1, 2, 3, 4, 5), _ * 3)
println(res4.mkString(","))
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值