方法使用 def 定义:
def 方法名(参数名:参数列表,…) :返回值类型 = { 方法结构体 }
1 scala> def add(x : Int ,y : Int):Int = x+y 2 add: (x: Int, y: Int)Int 3 4 // 返回值可以省略,Scala编译器可以通过值的类型推断出变量的类型 5 scala> def subtract(x : Int,y : Double) = x-y 6 subtract: (x: Int, y: Double)Double 7 8 // 当返回值为空时,可以省略,也可以写为Unit,类似与Java的void 9 scala> def printMulti(x : Int ,y :Int): Unit = println(x * y) 10 printMulti: (x: Int, y: Int)Unit
抽象方法
1 abstract class Test{ 2 3 // 没有方法体的方法为抽象的,包含它的类型于是也是一个抽象类型 4 def add(x : Int,y : Int) 5 }
ps:对于递归方法,必须指定返回类型
Scala的函数是基于Function家族,0-22,一共23个Function Trait可以被使用,数字代表了Funtcion的入参个数
1 // 函数的定义 2 val add = new Function2[Int,Int,Int] { 3 override def apply(x: Int, y: Int): Int = x+y 4 } 5 6 // 函数的定义简写 7 val subtract = (x :Int,y:Int) => x-y
方法转为函数:
1 // 定义一个方法 2 scala> def add(x:Int,y:Int) =x+y 3 add: (x: Int, y: Int)Int 4 5 // 将该方法转为函数 6 scala> add _ 7 res9: (Int, Int) => Int = <function2>
https://blog.csdn.net/u010839779/article/details/80849607
原文:https://www.cnblogs.com/lalala823581291/p/9846667.html