scala中函数简单使用记录

Posted yxj0728

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala中函数简单使用记录相关的知识,希望对你有一定的参考价值。

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中函数简单使用记录的主要内容,如果未能解决你的问题,请参考以下文章

scala编程——函数和闭包

Scala的面向对象与函数编程

scala中类的简单使用记录

重学scala:scala中的变量方法函数

Spark记录-Scala函数

详解 Scala 模式匹配