Котлин при изразяване (с примери)

В тази статия ще научите за това, когато се изгражда в Kotlin с помощта на различни примери.

Котлин, когато конструирам

В whenконструкцията на Kotlin може да се мисли като заместител на Java превключвател изявление. Той оценява част от кода сред много алтернативи.

Пример: Обикновено при изразяване

 fun main(args: Array) ( val a = 12 val b = 5 println("Enter operator either +, -, * or /") val operator = readLine() val result = when (operator) ( "+" -> a + b "-" -> a - b "*" -> a * b "/" -> a / b else -> "$operator operator is invalid operator." ) println("result = $result") ) 

Когато стартирате програмата, изходът ще бъде нещо като:

 Въведете оператор или +, -, * или / * резултат = 60

Горната програма взема входен низ от потребителя (Препоръчано четене: Вземете въвеждане на низове от потребителя в Kotlin). Да предположим, че потребителят е влязъл *. В този случай изразът a * bсе оценява и стойността се присвоява на променлива резултат.

Ако нито едно от условията на браншови са удовлетворени (въведен от потребителя нищо, освен +, -, *, или /), elseклон се оценява.

В горния пример използвахме whenкато израз. Не е задължително обаче да се използва whenкато израз. Например,

 fun main(args: Array) ( val a = 12 val b = 5 println("Enter operator either +, -, * or /") val operator = readLine() when (operator) ( "+" -> println("$a + $b = $(a + b)") "-" -> println("$a - $b = $(a - b)") "*" -> println("$a * $b = $(a * b)") "/" -> println("$a / $b = $(a / b)") else -> println("$operator is invalid") ) )

Когато стартирате програмата, изходът ще бъде нещо като:

 Въведете оператор или +, -, * или / - 12 - 5 = 7 

Тук whenне е израз (връщаната стойност от whenне е присвоена на нищо). В този случай elseклонът не е задължителен.

Малко възможности

Комбинирайте две или повече условия на разклонение със запетая. Например,

 fun main(args: Array) ( val n = -1 when (n) ( 1, 2, 3 -> println("n is a positive integer less than 4.") 0 -> println("n is zero") -1, -2 -> println("n is a negative integer greater than 3.") ) )

Когато стартирате програмата, изходът ще бъде:

 n е отрицателно цяло число, по-голямо от 3.

Проверете стойността в диапазона. Например,

 fun main(args: Array) ( val a = 100 when (a) ( in 1… 10 -> println("A positive number less than 11.") in 10… 100 -> println("A positive number between 10 and 100 (inclusive)") ) )

Когато стартирате програмата, изходът ще бъде:

 Положително число между 10 и 100 (включително)

Проверете дали дадена стойност е от определен тип.

За да проверим дали дадена стойност е от определен тип по време на изпълнение, можем да използваме оператора is и! Is. Например,

 когато (x) (е Int -> print (x + 1) е String -> print (x.length + 1) е IntArray -> print (x.sum ())) 

Използвайте изрази като условие за разклонение. Например,

 fun main(args: Array) ( val a = 11 val n = "11" when (n) ( "cat" -> println("Cat? Really?") 12.toString() -> println("Close but not close enough.") a.toString() -> println("Bingo! It's eleven.") ) )

Когато стартирате програмата, изходът ще бъде:

Бинго! Единадесет е.

Интересни статии...