标签:cti length data buffer 返回 表达式 array 一个 数组
1.高阶函数主要有两种:一种是将一个函数当做另外一个函数的参数(即函数参数);另外一种是返回值是函数的函数。
2.值函数,我们可以用 var或者val 定义一个参数去接收一个函数叫做值函数 ,格式为 var fun_name=funName _

上图我们定了一个 add函数有两个参数,返回一个int 类型, 然后用吧定义好的add 函数传值给 fun_add var fun_add=add _ 然后用fun_add(2,7) 去调用函数
3.函数的嵌套
 //嵌套函数的使用在函数体再定义一个函数
  def nest(x:Int,y:Int,z:Int):Int=
  {
    
     def add(a:Int,b:Int):Int=
     {
       a+b;
     }
     //调用上面的函数再加上z
     add(x,y)+z;
  }
println(nest(1,6,5))
result:
12
3.高阶函数
package smart.iot
import scala.collection.mutable.ArrayBuffer
class TestFuncion {
  
}
object TestFuncion
{
  def main(args: Array[String]): Unit = {
    
    var arr=Array("a","b","c","d")
    
  
    
   var data= ArrToUpper(arr,func1)
    
     for(x<-data)
     {
       println(x);
     }
    
   
  }
  
  
  //嵌套函数的使用在函数体再定义一个函数
  def nest(x:Int,y:Int,z:Int):Int=
  {
    
     def add(a:Int,b:Int):Int=
     {
       a+b;
     }
     //调用上面的函数再加上z
     add(x,y)+z;
  }
  
  //定义一个函数把字母小写转大写
  def func1(str:String):String=
  {
    str.toUpperCase()
  }
  
  //高阶杉树,接收一个数组 和一个函数的定义 在使用的时候实际上传的是要调用的函数的名字
  def ArrToUpper(arr:Array[String],func:(String)=>String)=
  {
    for(x<-0 until arr.length)
    {
      arr(x)=func(arr(x))
    }
    arr
  }
  
  
  
}
4.匿名函数 (参数:参数类型)=>{表达式}
标签:cti length data buffer 返回 表达式 array 一个 数组
原文地址:http://www.cnblogs.com/IChing/p/7117904.html