Did you know you can just whip out curly-braces all over the place in Rust and Go?
But why on Earth would you even want to do this?
Did you know you can just whip out curly-braces all over the place in Rust and Go?
But why on Earth would you even want to do this?
Yeah, at work, we (regrettably) elected to use Kotlin for a project instead of previously Scala and those braces are definitely something I miss.
Kotlin does support basically the same thing with the
run { }
function, but Kotlin is so incredibly inconsistent with when implicit returns are allowed and when not, that it seems to confuse colleagues rather frequently…I was also confused with explicit return in Kotlin, which behaves differently for inline and non inline functions.
Yeah, in inline functions, you have to use implicit returns, whereas in regular/named functions, you have to use explicit returns.
Although, there is yet another special case to that rule in that you can use labeled explicit returns in inline functions like so:
list.map { value -> return@map value*2 }