教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Scala中如何使用def语句定义方法?

更新时间:2022年09月16日17时37分 来源:传智教育 浏览次数:

Scala和Java一样也有方法和函数。Scala的方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说,在类中定义的函数即是方法。Scala中可以使用df语句和val语句定义函数,而定义方法只能使用def语句。下面来讲解Scala的方法。

Scala方法的定义格式如下:

从上面的代码可以看出,Scala的方法是由多个部分组成的,具体如下。

def functionName([参数列表]):[return type]={
    function body
    return [expr]
}

·def:Scala的关键字,并且是固定不变的,一个方法的定义是由def关键字开始的。

·functionName:Scala方法的方法名。

·([参数列表]):[return type]:Scala方法的可选参数列表,参数列表中的每个参数都有一个名字,参数名后跟着冒号和参数类型。

·function body:方法的主体。

·return [expr]:Scala方法的返回类型,可以是任意合法的Scala数据类型。若没有返回值,则返回类型为Unit。

下面,定义一个方法add(),实现两个数相加求和,示例代码如下:

def add(a:Int,b:Int):Int={
    var sum:Int =0
    sun =a +b
    return sum
}

Scala的方法调用的格式如下:

//没有使用实例的对象调用格式
functionName(参数列表)
//方法由实例的对象来调用,可以使用类似java的格式(使用”.”号)
[instance.]functionName(参数列表]

下面,在类Test中,定义一个方法addInt(),实现两个整数相加求和。在这里,通过“类名.方法名(参数列表)”来进行调用,示例代码如下:

scala>:paste                                 #多行输人模式的命令
// Entering paste mode (ctrl-D to finish)
object Test{
   def addInt(a:Int,b:Int):Int={
       var sum:Int=0
       sum=a+b
       return sum
   }
}
// Exiting paste mode, now interpreting.
defined object Test
scala>Test.addInt(4,5)
res0: Int =9






0 分享到:
和我们在线交谈!