Jeisson Sáchica
sealed
sealed class User { object Unauthenticated: User() sealed class Authenticated: User() { object Client: Authenticated() object Owner: Authenticated() } } fun getUser(): User { return User.Authenticated.Client } fun main() { when (val user: User = getUser()) { is User.Unauthenticated -> { println("Not Authenticated!") } is User.Authenticated -> { when (user) { is User.Authenticated.Client -> { println("Hello Client!") } is User.Authenticated.Owner -> { println("Hello Owner!") } } } } }
when
user as Authenticated
Rafs
is
as
Javier
A modern programming language that makes developers happier.