Latest web development tutorials

função Scala

É um conjunto de funções para executar uma declaração de missão juntos. Você pode colocar o código em diferentes funções. Como dividir o código em funções separadas cabe a você decidir, mas logicamente dividida geralmente executar cada função com base em uma tarefa específica de realizar.

Scala tem funções e métodos, tanto sobre a pequena diferença na semântica. Método Scala é parte de uma classe, ea função é um objeto que pode ser atribuído a uma variável. Em outras palavras, a função definida em uma classe que é um método.

Podemos definir funções em qualquer lugar, até mesmo funções definidas (função inline) dentro da função. O ponto mais importante é Scala nome da função pode ser constituído dos seguintes caracteres especiais:+, +, -, &, -, -, \, /,:, etc.


declaração de função

Scala declaração de função no seguinte formato:

def functionName ([参数列表]) : [return type]

Se você não escrever o sinal de igual e o corpo do método, o método é declarado implicitamente 'abstract (resumo) ", contendo tipo é, em seguida, um tipo abstrato.


definição de função

O método é definido por uma palavra-chave de início DEF, seguido por uma lista de parâmetros opcional, um cólon: e tipo de retorno do método, um número igual a "=", e, finalmente, o corpo do método de "."

Scala função é definido no seguinte formato:

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

Otipo de retornocódigo acima pode ser qualquer tipo de dados válido Scala. parâmetros da lista de parâmetros podem ser separados por vírgulas.

Características A função a seguir são passados ​​dois parâmetros são somados e o somatório:

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

      return sum
   }
}

Se a função não retorna um valor, você pode devolver aunidade, este é semelhante ao vaziodeJava,exemplos são os seguintes:

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

chamada de função

Scala oferece uma variedade de maneiras diferentes para chamar a função:

O que se segue é a chamada de método formato padrão:

functionName( 参数列表 )

Se a função é usada para chamar a instância do objeto, podemos usar um formato java semelhante (usando onúmero.):

[instance.]functionName( 参数列表 )

Os exemplos acima demonstram a definição e chamando a instância função:

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
   }
}

Implementação do código acima, a saída é:

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

Scala é uma linguagem funcional, de modo que a função é o núcleo da linguagem Scala. Aqui estão alguns conceito de função nos ajudará a entender melhor a programação Scala:

função analítica Caso conceito conexão
Função pelo nome de chamada (Chamada por Nome) Especifica o nome dos argumentos da função
Função - parâmetro variável função recursiva
Os valores de parâmetro padrão funções de ordem superior
funções aninhadas função anônima
aplicação de função parcial função ao curry (Currying Function)