教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Scala中如何使用def語句定義方法?

更新時(shí)間:2022年09月16日17時(shí)37分 來源:傳智教育 瀏覽次數(shù):

Scala和Java一樣也有方法和函數(shù)。Scala的方法是類的一部分,而函數(shù)是一個(gè)對象可以賦值給一個(gè)變量。換句話來說,在類中定義的函數(shù)即是方法。Scala中可以使用df語句和val語句定義函數(shù),而定義方法只能使用def語句。下面來講解Scala的方法。

Scala方法的定義格式如下:

從上面的代碼可以看出,Scala的方法是由多個(gè)部分組成的,具體如下。

def functionName([參數(shù)列表]):[return type]={
    function body
    return [expr]
}

·def:Scala的關(guān)鍵字,并且是固定不變的,一個(gè)方法的定義是由def關(guān)鍵字開始的。

·functionName:Scala方法的方法名。

·([參數(shù)列表]):[return type]:Scala方法的可選參數(shù)列表,參數(shù)列表中的每個(gè)參數(shù)都有一個(gè)名字,參數(shù)名后跟著冒號和參數(shù)類型。

·function body:方法的主體。

·return [expr]:Scala方法的返回類型,可以是任意合法的Scala數(shù)據(jù)類型。若沒有返回值,則返回類型為Unit。

下面,定義一個(gè)方法add(),實(shí)現(xiàn)兩個(gè)數(shù)相加求和,示例代碼如下:

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

Scala的方法調(diào)用的格式如下:

//沒有使用實(shí)例的對象調(diào)用格式
functionName(參數(shù)列表)
//方法由實(shí)例的對象來調(diào)用,可以使用類似java的格式(使用”.”號)
[instance.]functionName(參數(shù)列表]

下面,在類Test中,定義一個(gè)方法addInt(),實(shí)現(xiàn)兩個(gè)整數(shù)相加求和。在這里,通過“類名.方法名(參數(shù)列表)”來進(jìn)行調(diào)用,示例代碼如下:

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 分享到:
和我們在線交談!