English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Scala ha metodi e funzioni, la differenza semantica tra i due è piccola. Il metodo in Scala è una parte della classe, mentre la funzione è un oggetto che può essere assegnato a una variabile. In altre parole, la funzione definita nella classe è un metodo.
In Scala, il metodo è simile a Java, il metodo è una parte costitutiva della classe.
In Scala, la funzione è un oggetto completo, in Scala, la funzione è un oggetto che eredita il Trait.
Scala utilizza val le espressioni possono definire funzioni,def definizione delle espressioni del metodo.
class Test{ def m(x: Int) = x + 3 val f = (x: Int) => x + 3 }
Attenzione:In alcuni casi, la traduzione tra funzione e metodo non fa differenza.
La definizione del metodo Scala è come segue:
def functionName([lista parametri]): [tipo di ritorno]
Se non si scrive il segno uguale e il corpo del metodo, il metodo viene implicitamente dichiarato comeastratto (abstract)che contiene anche il suo tipo, è anche un tipo astratto.
La definizione del metodo è costituita da un def inizializza con i termini chiave, seguiti da una lista opzionale di parametri, un duepunto : e il tipo di ritorno del metodo, un segno uguale =, infine il corpo del metodo.
La definizione del metodo Scala è come segue:
def functionName([lista parametri]): [tipo di ritorno] = { corpo della funzione return [expr] }
Nella seguente codice: tipo di ritorno può essere qualsiasi tipo di dati Scala legittimo. I parametri nella lista possono essere separati da virgola.
Le seguenti funzioni sommano due parametri passati e calcolano la somma:
oggetto add{ def addInt( a: Int, b: Int ) : Int = { var sum: Int = 0 sum = a + b return sum } }
Se il metodo non restituisce un valore, può restituire Unitsimile a Java void, esempio:
oggetto Hello{ def printMe(): Unit = { println("Hello, Scala!") } }
Scala provides various ways to call methods:
The following is the standard format for calling methods:
functionName( parameters list )
If the method uses the example object to call, we can use the format similar to java (using . :
[instance.]functionName( parameters list )
The above example demonstrates the example of defining and calling methods:
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 } }
Execute the above code, the output result is:
$ scalac Test.scala $ scala Test Returned Value: 12
Scala is also a functional programming language, so functions are the core of the Scala language. Some concepts of functions are helpful for us to better understand Scala programming: