0

Kotlin - Single Expression Functions

Isaias Bueno
Isaias Bueno

Imagine que você está desenvolvendo um software relacionado a vendas, e, no momento do checkout, precisa aplicar um desconto em cima do valor de final da compra do cliente. Fácil? Mas é claro que, você como desenvolvedor sabe que os requisitos do seu cliente estão sempre mudando, então para garantir que a menor quantidade possível de modificações serão feitas no decorrer do processo, você resolve desenvolver um método para realizar esse cálculo, que em Java teria uma sintaxe provavelmente similar a essa:


public double calcularValorFinal(double total, double desconto) {

return total - (total * desconto);

}


Se transcrevermos esse método para Kotlin melhora um pouco a sintaxe:


fun calcularValorFinal(total: Double, desconto: Double): Double {

return total - (total * desconto)

}


Mas mesmo assim algo não parece estar certo! E então, qual o problema? A questão é que você precisou escrever muito código para satisfazer o compilador, e pouco código para resolver o problema que você realmente queria resolver. A única parte que realmente importa são os parâmetros e o valor retornado, então por que escrever mais do que isso, certo? É ai que as Single Expression Functions entram em ação, veja:


fun calcularValorFinal(total: Double, desconto: Double) = total - (total * desconto)


Transcrevemos várias linhas de código em Java para só uma em Kotlin! Mas o que nós acabamos de fazer? Nós definimos uma função que, por realizar uma operação simples não existia necessidade do uso de chaves para o corpo, e melhor ainda, omitimos o retorno do tipo Double, uma vez que o compilador é esperto o bastante para descobrir isso por sozinho.


Por Hoje é só pessoal, sucesso nos estudos.


0
0

Comentários (4)

1
Fernando Aguiar

Fernando Aguiar

23/04/2021 17:34

Muito bom, Isaias!

Kotlin realmente está fazendo a diferença na quantidade de linhas e até mesmo na leitura do código, pelo menos no meu ponto de vista.

1
T

Thyago Antonio

23/04/2021 17:52

Programo para Android nativo com Java, tenho alguns apps publicados na Play Store até, mas só agora "me rendi" rs e estou fazendo o bootcamp de Kotlin da Everis por aqui. Esses artigos "comparando" o Java com o Kotlin ajuda muito a entender as semelhanças e diferenças entre as 2 linguagens, o fato de você escrever o mesmo método em Java e em Kotlin e "depois" mostrar o exemplo de expressão de uma linha (ou single line expression) é muito interessante. Outro ponto que me chamou a atenção é a informação sintetizada, artigo relativamente curto mas com o conteúdo prometido no título e sem se desviar do assunto, sem enrolação, nos ajuda a encontrar o que estamos está procurando ou precisando no momento para resolver algum problema específico. Muitas vezes procuro por algo assim e só encontro nos materiais em inglês.


Parabéns pelo artigo, e obrigado pela aula!

1
Isaias Bueno

Isaias Bueno

23/04/2021 10:09

Muito obrigado Eros, igualmente!

1

Muito top, Kotlin tá em tudo até JavaScript 'z tem no meio. Parabéns pelo conteúdo Isaias sempre que posso leio e aprendo mais e mais contigo!

Desenvolvedor Android|Kotlin Github: https://github.com/IsaiasBueno

Brasil