O que é fun em Kotlin?
A palavra-chave fun é usada para declarar funções em Kotlin. Toda função na linguagem começa com fun, seguida do nome, dos parâmetros entre parênteses e, opcionalmente, do tipo de retorno.
Se você tá acostumado com Java, vai perceber que em Kotlin as funções são bem mais enxutas. Dá pra escrever bastante coisa com poucas linhas.
Sintaxe básica
fun saudacao(nome: String): String {
return "Olá, $nome! Bem-vindo ao Kotlin Brasil."
}
fun main() {
println(saudacao("Karina"))
}
Os parâmetros são declarados no formato nome: Tipo, e o tipo de retorno vem depois dos parênteses, separado por :. Se a função não retorna nada, o tipo de retorno é Unit — mas você não precisa escrever isso explicitamente.
Funções de expressão única
Quando a função tem só uma expressão, dá pra simplificar bastante usando o sinal de =:
fun dobro(x: Int): Int = x * 2
fun saudacao(nome: String) = "E aí, $nome! Tudo certo?"
Repare que na segunda função nem precisou declarar o tipo de retorno. O compilador infere sozinho que é String.
Parâmetros com valor padrão
Kotlin permite definir valores padrão nos parâmetros, o que é uma mão na roda:
fun criarUsuario(nome: String, ativo: Boolean = true): String {
return "$nome - Ativo: $ativo"
}
fun main() {
println(criarUsuario("Ana")) // Ana - Ativo: true
println(criarUsuario("João", false)) // João - Ativo: false
}
Isso elimina a necessidade de vários overloads que seriam obrigatórios em Java.
Funções são cidadãs de primeira classe
Em Kotlin, funções podem ser armazenadas em variáveis, passadas como argumento e retornadas por outras funções. Isso abre as portas para programação funcional de um jeito muito natural.
Dominar fun é o primeiro passo pra escrever código Kotlin de verdade. A partir daí, o céu é o limite.