Скала | Функции — Основы
#ScalaФункция представляет собой набор операторов, которые выполняют определенную задачу. Можно разделить код на отдельные функции, помня, что каждая функция должна выполнять определенную задачу. Функции используются для помещения некоторых общих и повторяющихся задач в одну функцию, поэтому вместо того, чтобы снова и снова писать один и тот же код для разных входных данных, мы можем просто вызвать функцию. Scala считается функциональным языком программирования, поэтому они играют важную роль. Это облегчает отладку и изменение кода. Функции Scala являются первоклассными значениями .
Разница между функциями и методами Scala: Функция — это объект, который можно сохранить в переменной. Но метод всегда принадлежит классу, у которого есть имя, байт-код подписи и т. Д. По сути, вы можете сказать, что метод — это функция, которая является членом какого-либо объекта.
Объявление и определение функции
В общем, объявление и определение функции имеют 6 компонентов:
- Ключевое слово def: ключевое слово «def» используется для объявления функции в Scala .
- имя_функции: это должно быть допустимое имя в нижнем регистре верблюдов. Имя функции в Scala может содержать символы, такие как +, ~, &, -, ++, /, / и т. Д.
- parameter_list: В Scala разделенный запятыми список входных параметров определяется с предшествующим типом данных в круглых скобках.
- return_type: пользователь должен указать тип возвращаемого параметра, в то время как определение функции и тип возвращаемого значения функции необязательны. Если вы не укажете какой-либо тип возвращаемого значения функции, типом возвращаемого значения по умолчанию будет Unit, что эквивалентно void в Java.
- = : В Scala пользователь может создать функцию с оператором = (равно) или без него. Если пользователь использует его, функция вернет желаемое значение. Если он не использует его, функция не будет возвращать никакого значения и будет работать как подпрограмма.
- Тело метода: тело метода заключено в фигурные скобки {}. Код, который необходимо выполнить для выполнения запланированных операций.
Синтаксис:
def function_name ([parameter_list]) : [return_type] = {
// function body
}
Примечание: если пользователь не будет использовать знак равенства и тело, то неявно метод объявляется абстрактным .
Вызов функции
В Scala есть два основных способа вызова функции. Первый способ — это стандартный способ:
function_name(paramter_list)
Во втором способе пользователь также может вызвать функцию с помощью экземпляра и точечной нотации следующим образом:
[instance].function_name(paramter_list)
Пример:
object data science {
def main(args: Array[String]) {
// Вызов функции
println("Sum is: " + functionToAdd(5,3));
}
// объявление и определение функции
def functionToAdd(a:Int, b:Int) : Int =
{
var sum:Int = 0
sum = a + b
// возвращаем значение суммы
return sum
}
}
Выход:
Sum is: 8