Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Declaration X Expression

Percebi esse termo na documentação do Kotlin e vi também sendo citado nas aulas.

Quando dizemos Declaration, significa que aquele pedaço de código é escrito diretamente, podendo ser chamado novamente?

E quando dizemos Expression, obrigatóriamente indica que salvamos o valor dentro de uma variável?

1 resposta
solução!

Olá, Luan! Vejo que você está se aprofundando no Kotlin, ótimo! Vamos esclarecer esses termos.

Em Kotlin, quando falamos de "Declaration", estamos nos referindo à declaração de uma variável, função ou classe. Ou seja, é quando você define algo no seu código que pode ser utilizado posteriormente. Por exemplo, quando você declara uma variável var nome: String = "Luan", você está criando uma declaração.

Por outro lado, "Expression" é um pedaço de código que resolve para um valor. Em Kotlin, muitas coisas que seriam declarações em outras linguagens são expressões. Por exemplo, o if e o try são expressões, pois podem retornar um valor. No exercício que você está fazendo, o try e o if estão sendo usados como expressões, porque eles estão retornando um valor que é atribuído a uma variável.

Portanto, não é obrigatório que uma expressão seja salva em uma variável, mas é uma prática comum, já que geralmente queremos fazer algo com o valor que a expressão resolve.

Por exemplo:

val numero: Double? = try {
    "123.45".toDouble()
} catch (e: NumberFormatException) {
    null
}

val numeroComTaxa: Double? = if (numero != null) {
    numero + 0.1
} else {
    null
}

Neste exemplo, try e if são expressões que retornam um valor que é atribuído às variáveis numero e numeroComTaxa, respectivamente.

Espero ter ajudado e bons estudos!