1. 程式人生 > >scala中函數簡單使用記錄

scala中函數簡單使用記錄

introduce main 函數 true mys light str evel print

object funcHighLevel {

  def main(args: Array[String]): Unit = {
    // 創建一個匿名函數
    val sayFunc = (name: String) => println("hello ," + name)
    // 定義一個方法傳入一個函數
    def greeting(func: (String) => Unit, names: String) {
      func(names)
    }

    // 在定義一個 name,age是參數
    val induceMyself = (name:String ,age:Int) => {
      println("hello,my name is " + name +",and i‘m " + age + " years old.")
    }
    // 這裏的fun是函數名,可以調整修改
    def introduce(fun :(String , Int) => Unit , name:String , age:Int): Unit = {
      fun(name , age)
    }

    greeting(sayFunc, "yxj")

    //
    introduce(induceMyself , "yxj" , 30)


    val rs = Array(2, 3, 4, 5, 6).map((num: Int) => {
      num * num
    })
    println(rs.mkString(","))

    // 高階函數的另一個功能,就是將函數作為返回值
    def getGreetingFunc(msg:String) = (name:String) => println(msg + " , " + name) // 傳入msg,返回一個函數,參數是name
    val greetingFunc = getGreetingFunc("hello") // 調用先返回的是一個函數
    greetingFunc("yxj") // 匿名函數具體調用和執行


  }

}

  

scala中函數簡單使用記錄