Yuxuan Shui <[email protected]> wrote:
> Just come across Kotlin today, and found some interesting ideas 
> skimming through its tutorial:
> 
> 1) Null check
> 
> Kotlin has Optional types, suffixed with a '?'. Like 'Int?', same 
> as in Swift. But instead of explicitly unwrapping them (e.g. var! 
> in Swift, or var.unwrap() in Rust), Kotlin let you do this:
> 
> 
>     var: Int?
>     if (var != null)
>         //You can use var here

In Rust that would be:

let var : Option<i32> = ...;
if let Some(var) = var {
    // You can use var here
}

It works for every enum (= tagged union), not just Option<T>

Swift also has "if let".

It's not much more verbose but more explicit.
Changing the type of a variable based on static analysis is just advanced
obfuscation. It hurts readability and the gain is questionable. At least it
only works for nullable types.

Tobi

Reply via email to