Função Kotlin (com exemplo)

Neste artigo, você aprenderá sobre funções; o que são funções, sua sintaxe e como criar uma função de usuário no Kotlin.

Na programação, função é um grupo de instruções relacionadas que executam uma tarefa específica.

Funções são usadas para quebrar um grande programa em pedaços menores e modulares. Por exemplo, você precisa criar e colorir um círculo com base na entrada do usuário. Você pode criar duas funções para resolver este problema:

  • createCircle() Função
  • colorCircle() Função

Dividir um programa complexo em componentes menores torna nosso programa mais organizado e gerenciável.

Além disso, evita a repetição e torna o código reutilizável.

Tipos de funções

Dependendo se uma função é definida pelo usuário ou disponível na biblioteca padrão, existem dois tipos de funções:

  • Função de biblioteca padrão Kotlin
  • Funções definidas pelo usuário

Função de biblioteca padrão Kotlin

As funções de biblioteca padrão são funções integradas ao Kotlin que estão prontamente disponíveis para uso. Por exemplo,

  • print() é uma função de biblioteca que imprime mensagem no fluxo de saída padrão (monitor).
  • sqrt()retorna a raiz quadrada de um número ( Doublevalor)
 fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )

Quando você executa o programa, a saída será:

 Resultado = 2,345207879911715

Aqui está um link para a Biblioteca padrão Kotlin para você explorar.

Funções definidas pelo usuário

Conforme mencionado, você mesmo pode criar funções. Essas funções são chamadas de funções definidas pelo usuário.

Como criar uma função definida pelo usuário no Kotlin?

Antes de usar (chamar) uma função, você precisa defini-la.

Veja como você pode definir uma função no Kotlin:

 fun callMe () (// corpo da função) 

Para definir uma função em Kotlin, a funpalavra-chave é usada. Em seguida, vem o nome da função (identificador). Aqui, o nome da função é callMe.

No programa acima, o parêntese ( )está vazio. Isso significa que esta função não aceita nenhum argumento. Você aprenderá sobre os argumentos posteriormente neste artigo.

Os códigos entre chaves ( )são o corpo da função.

Como chamar uma função?

Você deve chamar a função para executar códigos dentro do corpo da função. Veja como:

 me liga()

Esta instrução chama a callMe()função declarada anteriormente.

Exemplo: Programa de Função Simples

 fun callMe() ( println("Printing from callMe() function.") println("This is cool (still printing from inside).") ) fun main(args: Array) ( callMe() println("Printing outside from callMe() function.") )

Quando você executa o programa, a saída será:

Impressão da função callMe (). Isso é legal (ainda imprimindo de dentro). Impressão fora da função callMe ().

A callMe()função no código acima não aceita nenhum argumento.

Além disso, a função não retorna nenhum valor (o tipo de retorno é Unit).

Vamos dar outro exemplo de função. Esta função aceita argumentos e também retorna um valor.

Exemplo: adicionar dois números usando a função

 fun addNumbers(n1: Double, n2: Double): Int ( val sum = n1 + n2 val sumInteger = sum.toInt() return sumInteger ) fun main(args: Array) ( val number1 = 12.2 val number2 = 3.4 val result: Int result = addNumbers(number1, number2) println("result = $result") )

Quando você executa o programa, a saída será:

 resultado = 15

Como funcionam as funções com argumentos e valor de retorno?

Aqui, dois argumentos number1 e number2 do tipo Doublesão passados ​​para a addNumbers()função durante a chamada da função. Esses argumentos são chamados de argumentos reais.

 resultado = addNumbers (número1, número2)

Os parâmetros n1 e n2 aceitam os argumentos passados ​​(na definição da função). Esses argumentos são chamados de argumentos formais (ou parâmetros).

In Kotlin, arguments are separated using commas. Also, the type of the formal argument must be explicitly typed.

Note that, the data type of actual and formal arguments should match, i.e., the data type of first actual argument should match the type of first formal argument. Similarly, the type of second actual argument must match the type of second formal argument and so on.

Here,

 return sumInteger

is the return statement. This code terminates the addNumbers() function, and control of the program jumps to the main() function.

In the program, sumInteger is returned from addNumbers() function. This value is assigned to the variable result.

Notice,

  • both sumInteger and result are of type Int.
  • the return type of the function is specified in the function definition.
     // return type is Int fun addNumbers(n1: Double, n2: Double): Int (… )

If the function doesn't return any value, its return type is Unit. It is optional to specify the return type in the function definition if the return type is Unit.

Example: Display Name by Using Function

 fun main(args: Array) ( println(getName("John", "Doe")) ) fun getName(firstName: String, lastName: String): String = "$firstName $lastName"

When you run the program, the output will be:

 John Doe

Here, the getName() function takes two String arguments, and returns a String.

You can omit the curly braces ( ) of the function body and specify the body after = symbol if the function returns a single expression (like above example).

It is optional to explicitly declare the return type in such case because the return type can be inferred by the compiler. In the above example, you can replace

 fun getName (firstName: String, lastName: String): String = "$ firstName $ lastName"

com

 fun getName (firstName: String, lastName: String) = "$ firstName $ lastName" 

Esta é apenas uma breve introdução às funções do Kotlin. Artigos recomendados relacionados a funções:

  • Funções inline do Kotlin
  • Funções de infixo Kotlin
  • Escopo da função Kotlin
  • Argumentos nomeados e padrão de Kotlin
  • Kotlin Recursion
  • Função Kotlin Tail Recursiva
  • Função de extensão Kotlin
  • Funções de alta ordem e Lambdas do Kotlin

Artigos interessantes...