'if' must have both main and 'else' branches if used as an expression
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.