Explique o conceito da expressão 'when' na linguagem de programação Kotlin.
sobes.tech IA
Resposta da IA
when em Kotlin é um operador estrutural universal que substitui o clássico switch em outras linguagens. Pode ser usado como uma expressão (retornando um valor) ou como um operador.
Principais funcionalidades:
-
Comparação de valores: Correspondência com valores específicos.
fun describe(obj: Any): String = when (obj) { 1 -> "Um" "Hello" -> "Saudação" is Long -> "Longo" !is String -> "Não é uma string" else -> "Desconhecido" } -
Verificação de tipo (
is/!is): Correspondência com tipos de dados. -
Verificação de pertença (
in/!in): Verificação de inclusão em um intervalo ou coleção.fun checkRange(x: Int): String = when (x) { in 1..10 -> "Número positivo na faixa" !in 10..20 -> "Não na segunda faixa" else -> "Nenhum dos anteriores" } -
Sem argumento: Usado como uma substituição mais flexível de cadeias
if-else if-else. As condições são avaliadas em sequência.fun checkBoolean(x: Boolean, y: Boolean): String = when { x && y -> "Ambos verdadeiros" !x && !y -> "Ambos falsos" else -> "Misto" } -
Retorno de valor: Se
whenfor usado como uma expressão, deve ser exaustivo (cobrir todos os casos possíveis ou ter um ramoelse).
when melhora a legibilidade e segurança do código em comparação com o tradicional switch.