English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Scala tem métodos e funções, e a diferença semântica entre eles é muito pequena. O método Scala é uma parte da classe, enquanto a função é um objeto que pode ser atribuído a uma variável. Em outras palavras, a função definida dentro da classe é um método.
Aqui, o método Scala é semelhante ao Java, onde o método é uma parte da classe.
A função Scala é um objeto completo, na verdade, a função Scala é um objeto da classe que herda o Trait.
Scala usa val A frase pode definir uma função,def definição de frase.
class Test{ def m(x: Int) = x + 3 val f = (x: Int) => x + 3 }
Atenção:Em algumas traduções, função (function) e método (method) não têm diferença.
O formato da declaração do método Scala é o seguinte:
def functionName([lista de parâmetros]): [tipo de retorno]
Se você não escrever o sinal de igual e o corpo do método, o método será declarado implicitamente comoabstrato (abstract)que inclui seu tipo também é um tipo abstrato.
A definição do método é feita por um def Palavra-chave de início, seguida pela lista de parâmetros opcional, um dois-pontos :, o tipo de retorno do método, um sinal de igual =, e finalmente o corpo do método.
O formato da definição do método Scala é o seguinte:
def functionName([lista de parâmetros]): [tipo de retorno] = { corpo da função return [expr] }
No código acima: tipo de retorno Pode ser qualquer tipo de dados Scala válido. Os parâmetros na lista de parâmetros podem ser separados por vírgulas.
A função desses métodos é somar os dois parâmetros passados e encontrar a soma:
object add{ def addInt( a:Int, b:Int ) : Int = { var sum:Int = 0 sum = a + b return sum } }
Se o método não tiver valor de retorno, pode retornar como Unitsemelhante ao Java: void, exemplo a seguir:
object Hello{ def printMe(): Unit = { println("Hello, Scala!") } }
O Scala oferece várias maneiras diferentes de chamar métodos:
A seguir está o formato padrão de chamada de método:
functionName( lista de parâmetros )
Se o método usar o objeto exemplo para chamar, podemos usar um formato semelhante ao java (usando . número):
[instance.]functionName( lista de parâmetros )
O exemplo acima demonstra um exemplo de definição e chamada de método:
object Test { def main(args: Array[String]) { println( "Valor Retornado : " + addInt(5,7); } def addInt( a:Int, b:Int ) : Int = { var sum:Int = 0 sum = a + b return sum } }
Executar o código acima, o resultado de saída será:
$ scalac Test.scala $ scala Test Valor Retornado : 12
O Scala também é uma linguagem funcional, então as funções são o núcleo da linguagem Scala. Abaixo estão alguns conceitos de funções que ajudam a entender melhor a programação Scala: