函数式编程
静态关键字不是面向对象中的语法,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")) }