函数式编程

静态关键字不是面向对象中的语法,scala中函数可理解为java中的静态方法

 scala是完全面向函数的编程语言,scala中的类其实也是一个函数

这里的函数类似于java的静态方法,体现的是功能的封装

java中方法的声明

            public static void(返回值类型) 方法名 (参数列表) throws 异常列表{
                方法体
                return "123"
            }

           java中方法的调用
           new User().test()

           scala中函数的声明:
           scala中没有public的概念,也没有静态的概念,所以为了和属性区分开,使用def关键字声明
           scala中返回值类型需要放置在方法名的后面,使用冒号分隔
           scala中参数列表的声明和java一致,但参数声明有变化: 参数名:参数类型。...
           scala中没有throws关键字,所以函数根本就不需要抛出异常
           scala中函数也可以返回结果


        // scala中最基本的函数声明
        def  test( name : String, age : Int ) : String = {
            // 方法体
            println("name = " + name + ", age = " + age)
            return "123"
        }

        // 调用函数
        test("zhangsan", 12)

声明

def main(args: Array[String]): Unit = {

    def hello(name: String): Unit = {
      println(s"Hello $name")
    }

    hello("smile")

    //1.无参无返回值加Unit
    def f1(): Unit = {
      println("无参无返回值")
    }

    //f1()
    //2.有1个参,无返回值
    def f2(name: String): Unit = {
      println("有1个参,无返回值")
    }

    //f2("kris")
    //3.多个参,无返回值
    def f3(name: String, age: Int): Unit = {
      println("多个参,无返回值")
    }

    //f3("kris", 22)
    //4.无参有返回值 声明一个变量接收函数返回值或者直接打印
    def f4(): String = {
      return "abc"
    }

    val result: String = f4()
    println(result)
    //println(f4())
    
    //5.有参,有返回值
    def f5(name: String): String = {
      return name
    }
    println(f5("kris"))


  }
View Code

相关文章: