'if' must have both main and 'else' branches if used as an expression
- #Kotlin
Há duas formas de utilizar expressões condicionais em kotlin. Mas eu cai no erro mostrado no titulo, eu queria apenas atribuir o valor do resultado dentro de uma váriavel em uma condição simples apenas com if Ex:
val resultado = if (condicao) {
// código a ser executado se a condição for verdadeira
valorSeVerdadeiro
}
Mas dessa forma no Kotlin não é possível, para ser atribuida a uma váriavel tem que haver o `else` e o código ficaria dessa forma.
val resultado = if (condicao) {
// código a ser executado se a condição for verdadeira
valorSeVerdadeiro
} else Unit
Em Kotlin para poder fazer uma condicional simples, não podemos atribuir o valor a uma váriavel diretamente, o código aceito seria +/- assim:
val numero = 42
if (numero % 2 == 0) {
println("O número é par.")
}
Para fazer uma atribuição a uma variável o código seria assim:
val numero = 10
lateinit var teste: String
if (numero % 2 == 0) {
teste = "O número é par."
}
println(teste)
Primeiro teria que inicializar a váriavel sem uma atribuição.