Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add multiple statements inside a when statement in kotlin

Tags:

I am trying to have multiple statements for one condition. For example: this is a sample code for when statement.

when (x) {     1 -> print("x == 1")     2 -> print("x == 2")      else -> { // Note the block         print("x is neither 1 nor 2")    } } 

When x is 1, I also want to have an extra statement like x += 10, how can I do it?

like image 387
Nicholas Chow Avatar asked Jun 13 '17 05:06

Nicholas Chow


People also ask

Can we use nested when in Kotlin?

Nested when structures are difficult to understand because you can easily confuse the cases of an inner when as belonging to an outer statement. Therefore nested when statements should be avoided.

What is the difference between if and when in Kotlin?

From the Kotlin Coding Conventions: Prefer using if for binary conditions. Prefer using when if there are three or more options. Save this answer.

Can when statement in Kotlin be used without passing any argument?

Using when Without an Argument The last interesting feature of when is that it can be used without an argument. In such case it acts as a nicer if-else chain: the conditions are Boolean expressions.


1 Answers

You have the solution in your question with the "Note the block" comment. Branches of when can be blocks that can contain any number of statements:

when(x) {     1 -> {         println("x == 1")         x += 10         println("x == 11")     }     2 -> { ... }     else -> { ... } } 

Writing a single statement branch just has a simplified syntax so that you don't need to surround it with {}.

like image 93
zsmb13 Avatar answered Oct 01 '22 00:10

zsmb13