В Котлине концы return
Оператор выполняет функцию и, если она присутствует, возвращает значение вызывающей стороне. Вот пример использования оператора return:
fun main() {
val result = sumOfNumbers(5, 3) // result = 8
println(result)
}
fun sumOfNumbers(number1: Int, number2: Int): Int {
return number1 + number2
}
Когда функция использует оператор return для возврата значения, тип возвращаемого значения функции должен быть явно указан. Тип возвращаемого значения определяется после списка параметров и двоеточия. В приведенном выше примере тип возвращаемого значения был Int использовал. Вот еще примеры различных типов возврата в Kotlin:
// Beispiel für Rückgabetyp Boolean
fun main() {
val result1 = isEven(10) // result1 = 'true'
println(result1)
val result2 = isEven(11) // result2 = 'false'
println(result2)
}
fun isEven(numberToCheck: Int): Boolean {
return numberToCheck % 2 == 0
}
// Beispiel für Rückgabetyp String
fun main() {
val output = userGreeting("Duffy")
println(output)
}
fun userGreeting(userName: String): String {
return "Hello, $userName!"
}
Тип возвращаемого значения Единица измерения
Функция, которая не возвращает результата, неявно возвращает значение типа Ед. назад. Этот парень сравним с этим аннулировать-Тип, используемый в некоторых языках программирования для обозначения отсутствия возврата. Следующая функция показывает пример этого:
// Beispiel für Rückgabetyp Unit
fun main() {
helloWorld()
}
fun helloWorld() {
println("Hello World!")
}
Показанная выше функция соответствует следующей функции:
// Beispiel für Rückgabetyp Unit
fun main() {
helloWorld()
}
fun helloWorld(): Unit { // Hier wurde explizit der Rückgabewert angegeben
println("Hello World!")
}
Даже в тех случаях, когда функция имеет возвращаемый тип Unit
все еще могу это сделать возвращаться-Оператор можно использовать для досрочного завершения функции без возврата значения. Такой подход полезен для своевременного выполнения функции и исключения ненужных операторов, что в конечном итоге оптимизирует производительность кода.
- Пример – Выход из функции при выполнении условия:
fun main() {
checkNumber(-5) // Ausgabe: Negative Zahl
checkNumber(3) // Ausgabe: Positive Zahl oder Null
}
fun checkNumber(numberToChek: Int) {
if (numberToChek < 0) {
println("$numberToChek is a negative number")
return
}
println("$numberToChek is a positive number")
}
- Пример – выход из функции внутри цикла:
fun main() {
findFirstEven(intArrayOf(1, 3, 5, 7, 8, 9)) // Ausgabe: Die erste gerade Zahl ist 8
findFirstEven(intArrayOf(1, 3, 5, 7, 9)) // Ausgabe: Es wurden keine geraden Zahlen gefunden
}
fun findFirstEven(numbersToCheck: IntArray) {
for (number in numbersToCheck) {
if (number % 2 == 0) {
println("The first even number is $number")
return
}
}
println("No even numbers were found")
}