Friday, February 2, 2018

Kotlin Ternary Conditional Operator



What is the equivalent of this expression in Kotlin?




a ? b : c


This is not valid code in Kotlin.


Answer



In Kotlin, if statements are expressions. So the following code is equivalent:



if (a) b else c



The distinction between expression and statement is important here. In Java/C#/JavaScript, if forms a statement, meaning that it does not resolve to a value. More concretely, you can't assign it to a variable.



// Valid Kotlin, but invalid Java/C#/JavaScript
var v = if (a) b else c


If you're coming from a language where if is a statement, this might seem unnatural but that feeling should soon subside.


No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...