English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Scala 方法与函数

O

Scala-Methode ähnelt Java , die Methode ist ein Teil der Klasse. Die Methode ist ein Teil der Klasse, und eine Funktion ist ein Objekt, das einer Variablen zugewiesen werden kann. Mit anderen Worten ist eine in der Klasse definierte Funktion eine Methode.

Eine Funktion in Scala ist ein vollständiges Objekt, eine Funktion in Scala ist tatsächlich ein Objekt einer Klasse, die den Trait geerbt hat.

In Scala wird val Eine Anweisung kann eine Funktion definieren,def Stellen Sie eine Methode ein.

class Test{
  def m(x: Int) = x + 3
  val f = (x: Int) => x + 3
}

Beachten Sie:In der Übersetzung gibt es keine Unterschiede zwischen Funktion (function) und Methode (method).

Methode Deklaration

Das Format der Scala-Methode ist wie folgt:

def functionName([Parameterliste]): [Rückgabetyp]

Wenn Sie keine Gleichung und den Hauptteil der Methode schreiben, wird die Methode implizit deklariert alsabstrakt (abstract)enthalten seine Typen ebenfalls eine abstrakte Typen.

Methode Definition

Die Definition einer Methode besteht aus einem def Schlüsselwortbeginn, gefolgt von einer optionalen Parameterliste, einem Doppelpunkt : und dem Rückgabetyp der Methode, einem Gleichheitszeichen = und zuletzt dem Hauptteil der Methode.

Das Format der Scala-Methode ist wie folgt:

def functionName([Parameterliste]): [Rückgabetyp] = {
   Funktionshauptteil
   return [expr]
}

Im folgenden Code Rückgabetyp können beliebige gültige Scala-Datentypen sein. Die Parameter in der Parameterliste können durch Kommas getrennt werden.

Die folgenden Methoden funktionieren so, dass sie zwei übergebene Parameter addieren und summiern:

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

Wenn eine Methode keinen Rückgabewert hat, kann sie als Unitähnlich wie Java , voidBeispiel: ,

object Hello{
   def printMe(): Unit = {
      println("Hello, Scala!")
   }
}

方法调用

Scala 提供了多种不同的方法调用方式:

以下是调用方法的标准格式:

functionName( 参数列表 )

如果方法使用了示例的对象来调用,我们可以使用类似java的格式 (使用 . 号):

[instance.]functionName( 参数列表 )

以上示例演示了定义与调用方法的示例:

object Test {
   def main(args: Array[String]) {
        println("Returned Value : " + addInt(5,7});
   }
   def addInt( a: Int, b: Int ) : Int = {
      var sum: Int = 0
      sum = a + b
      return sum
   }
}

执行以上代码,输出结果为:

$ scalac Test.scala 
$ scala Test
Returned Value : 12

Scala 也是一种函数式语言,所以函数是 Scala 语言的核心。以下一些函数概念有助于我们更好的理解 Scala 编程:

函数概念解析接案例
函数传名调用(Call-by-Name)指定函数参数名
函数 - 可变参数递归函数
默认参数值高阶函数
内嵌函数匿名函数
偏应用函数函数柯里化(Function Currying)