image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Eduardo Lima
Eduardo Lima23/11/2023 01:28
Compartilhe

'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.

Compartilhe
Comentários (0)