高阶函数

27 阅读1分钟

高阶函数:是一种特殊的函数,特殊之处在于:它指使其他函数作为参数或者返回值

object phx42 {
   val arr =Array(1,2,3,4,5)
   val fn=(x:Int)=>x*2
  val arr1=arr.map(fn)
  for(i <-arr1){
    println(i)
  }

  def main(args: Array[String]): Unit = {
    val arr=Array(1,2,3,4,5)
  }


}
object phx43 {
   val arr =Array(1,2,3,4,5)
   // val fn=(x:Int)=>x*2
  // val arr1=arr.map(fn)

  val arr1=arr.map(x=>x*2)// 没有必要去单独定义一个函数fn,这里直接写在map函数内,此时,它就是一个匿名函数
 for(i <-arr1){
  println(i)
 }


  def main(args: Array[String]): Unit = {
    val arr=Array(1,2,3,4,5)
  }


}

输出结果

image.png

object phx44 {
   val arr =Array(1,2,3,4,5)
   // val fn=(x:Int)=>x*2
  // val arr1=arr.map(fn)

  val arr1=arr.map(x=>x*x)// 没有必要去单独定义一个函数fn,这里直接写在map函数内,此时,它就是一个匿名函数
 for(i <-arr1){
  println(i)
 }


  def main(args: Array[String]): Unit = {
    val arr=Array(1,2,3,4,5)
  }


}

输出结果

image.png

object phx45 {
   val arr =Array(-1,2,-3,-4,-5)
   

  val arr1=arr.map(x=> if (x>=0)x else -x)// 没有必要去单独定义一个函数fn,这里直接写在map函数内,此时,它就是一个匿名函数
 for(i <-arr1){

    println(i)

 }


  def main(args: Array[String]): Unit = {
    val arr=Array(-1,2,-3,-4,-5)
  }


}

输出结果

image.png

def main(args: Array[String]): Unit = {
  val arr=Array(-1,2,-3,-4,-5)
  arr .foreach(println)
}

输出结果

image.png