O que isso imprime?
sealed class Res
data class Ok(val n: Int) : Res()
data object Err : Res()
fun tag(r: Res) = when (r) {
is Ok -> r.n * 2
Err -> 0
}
fun main() {
println(tag(Ok(5)))
}
Tente no playground online do Kotlin →
[spoiler title="Solução"]
Resposta:
10
Explicação:
Classes sealed restringem a herança a subclasses conhecidas, permitindo que expressões when verifiquem o tratamento exaustivo em tempo de compilação.
[/spoiler]

