Функции с одним выражением
Часть раздела Основы путешествия по Kotlin на Coddy. Урок 60 из 93.
Если функция содержит всего одно выражение, Kotlin предлагает более лаконичный синтаксис. Вместо фигурных скобок и ключевого слова return можно использовать знак равенства, за которым сразу следует выражение.
Вот обычная функция в сравнении с её эквивалентом, состоящим из одного выражения:
// Обычная функция
fun double(n: Int): Int {
return n * 2
}
// Функция с одним выражением
fun double(n: Int): Int = n * 2Обе версии работают одинаково, но вторая короче и легче читается для простых операций.
Kotlin может даже вывести тип возвращаемого значения для функций с одним выражением, позволяя полностью его пропустить:
fun double(n: Int) = n * 2
fun greet(name: String) = "Hello, $name!"Этот синтаксис также прекрасно работает с условными выражениями:
fun max(a: Int, b: Int) = if (a > b) a else b
fun isEven(n: Int) = n % 2 == 0Функции с одним выражением идеально подходят для простых вычислений, проверок и преобразований. Они делают ваш код чистым и сосредоточенным на том, что делает функция, а не на механике возврата значения.
Задание
СреднеНапиши функцию calculateDiscount, которая принимает price и percentage и возвращает цену со скидкой.
Используй синтаксис функции с одним выражением (с = вместо фигурных скобок и return), чтобы вычислить итоговую цену после применения скидки.
Цена со скидкой вычисляется так: price - (price * percentage / 100)
Параметры:
price(Double): Исходная ценаpercentage(Int): Процент скидки (0-100)
Возвращаемое значение: Цена после применения скидки (Double)
Попробуйте сами
fun calculateDiscount(price: Double, percentage: Int): Double {
// Напишите код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеОператоры сравненияПовторение — простая математика7Базовый ввод-вывод
Функция PrintlnШаблоны строкВвод ReadLineПреобразование типовПовторение — лет до выхода на пенсиюПовторение — правда или ложь10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияИменованные аргументыЗначения по умолчаниюФункции с одним выражениемПовторение — функция SigmaПовторение — функция валидации13Итерация по последовательностям
Итерация по элементамМетод WithIndexИтерация по строкам, ч. 1Итерация по строкам, ч. 2Повторение — индексированные буквы2Переменные
Val и VarВывод типовЧислаСтрокаЛогическое значениеСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Логические операторы, часть 3Тернарный оператор с выражением ifПовторение — простая логика8Калькулятор разделения счёта
Приветственное сообщениеВвод данных3Обработка null
Что такое безопасность nullТипы, допускающие nullОператор безопасного вызоваОператор ЭлвисаОсновы задания на функцииУтверждение ненулевого значенияПовторение — безопасный доступ6Принятие решений
Инструкция ifIf — ElseIf как выражениеВыражение whenWhen с диапазонамиПовторение — простой калькулятор9Циклы
Цикл ForЦикл WhileЦикл Do-WhileBreakContinueДиапазоны в циклахВложенный циклПовторение — факториалПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Kotlin