Menu
Coddy logo textTech

Funções de expressão única

Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 60 de 93.

Quando uma função contém apenas uma única expressão, Kotlin oferece uma sintaxe mais concisa. Em vez de usar chaves e a palavra-chave return, você pode usar um sinal de igual seguido diretamente pela expressão.

Aqui está uma função regular comparada à sua equivalente de expressão única:

// Função regular
fun double(n: Int): Int {
    return n * 2
}

// Função de expressão única
fun double(n: Int): Int = n * 2

Ambas as versões funcionam de forma idêntica, mas a segunda é mais curta e fácil de ler para operações simples.

Kotlin pode até inferir o tipo de retorno de funções com uma única expressão, permitindo que você o omita completamente:

fun double(n: Int) = n * 2
fun greet(name: String) = "Hello, $name!"

Essa sintaxe funciona perfeitamente também com expressões condicionais:

fun max(a: Int, b: Int) = if (a > b) a else b
fun isEven(n: Int) = n % 2 == 0

Funções de expressão única são ideais para cálculos, validações e transformações simples. Elas mantêm seu código limpo e focado no que a função faz, em vez de se concentrar nos mecanismos de retorno de um valor.

challenge icon

Desafio

Médio

Escreva uma função calculateDiscount que receba price e percentage e retorne o preço com desconto.

Use a sintaxe de função de expressão única (com = em vez de chaves e return) para calcular o preço final após aplicar o desconto.

O preço com desconto é calculado como: price - (price * percentage / 100)

Parâmetros:

  • price (Double): O preço original
  • percentage (Int): A porcentagem de desconto (0-100)

Retorno: O preço após aplicar o desconto (Double)

Experimente você mesmo

fun calculateDiscount(price: Double, percentage: Int): Double {
    // Escreva o código aqui
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Kotlin