• <nav id="dstbx"></nav>

    <nav id="dstbx"></nav>
    1. <form id="dstbx"></form>
    2. <small id="dstbx"></small>

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

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

      Scala的方法和函數介紹【大數據文章】

      更新時間:2021年03月08日18時05分 來源:傳智教育 瀏覽次數:

         

      在Scala中,它和Java一樣也是擁有方法和函數。Scala的方法是類的一部分,而函數是一個對象可以賦值給一個變量。換句話來說,在類中定義的函數即是方法。

      Scala 中可以使用 def語句和val 語句定義函數,而定義方法只能使用def 語句。下面我們分別對Scala的方法和函數進行講解。

      1.方法

      Scala方法的定義格式如下:

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

      在上面代碼中可以看出,Scala的方法是由多個部分組成。具體如下:

      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
      
        sum = 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

      2.函數

      在Scala中,由于使用def語句定義函數的格式以及調用函數的格式均與方法一樣,因此,這里不做贅述。然而,Scala函數也是有區別于方法的,可以使用val語句定義函數的格式,并且函數必須要有參數列表,而方法可以沒有參數列表。接下來,我們來介紹使用val語句定義和調用函數的具體格式。

      Scala函數的定義格式如下:

      val functionName ([參數列表]) =>  function body
      }


      下面,定義一個函數addInt,實現兩個整數相加求和,示例代碼如下:

      val addInt( a:Int, b:Int )=>a+b


      3.方法轉換成函數

      方法轉換成函數的格式如下:

      val f1 = m _


      在上述的格式中,方法名m后面緊跟一個空格和下劃線,是為了告知編譯器將方法m轉換成函數,而不是要調用這個方法。下面,定義一個方法m,實現將方法m轉成函數,示例代碼如下:

      scala> def m(x:Int,y:Int):Int =x*y     # 方法
      
      m: (x: Int,y: Int)Int
      
      scala> **val f=m _**
      
      f:(Int,Int) => Int = (function2)      # 函數
      
      }


      小提示:

      Scala方法的返回值類型可以不寫,編譯器可以自動推斷出來,但是對于遞歸函數來說,必須要指定返回類型。





      猜你喜歡:

      開發Scala程序的步驟是什么?

      Scala算術操作符重載怎樣使用?

      什么是Scala?Scala發展歷程簡介

      Scala編程的數據類型有幾種?

      傳智教育大數據課程

      0 分享到:
      神马影院我不卡