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