Вы находитесь на странице: 1из 6

ФУНКЦИИ

Заметки
• Функция – какое-либо действие, поэтому имя функции - глагол

• В Java все функции называется «методом»


• В Swift разделяют понятия:
• Метод – это функция внутри определенного типа (class, struct, enum)
• Функция – непривязаны, автономны (не относятся к объекту)

• Функции:
• могут возвращать значение (любой тип)
• не возвращать значение : () или Void

• Функции можно объявлять внутри другой функции (Nested functions) – в Java так нельзя
Параметры
• Переданные параметры – константы внутри функции (в ранних версиях Swift можно было указывать var для
параметра-переменную)

• External parameters
• Метки для параметров (более понятное название)
• Используется при вызове функции

• Значения по-умолчанию
• Можно не передавать значение при вызове функции

• in-out – передается не копия переменной, а сама переменная

• Функция может принимать другую функцию (в качестве параметра)


Функциональный тип
• Понятие «first-class function» - функция первого класса – можно присваивать в переменную, передавать как
параметр в другую функцию

• Функция – это тип: можно присваивать в переменную, передавать как параметр, возвращать как тип функции

• Более гибкая разработка кода, больше удобств (но в то же время возможна путаница)

• В Java нельзя присвоить функцию в переменную – можно присвоить только результат работы функции (либо
использовать Reflection)
overload
• Перегрузка функции (название совпадает, но параметры и тип возвращаемого значения могут отличаться)

• В Java перегрузка метода отличается - имя и тип совпадают, но разные параметры


Домашнее задание
• Выполнить Hometask

• Прочитать весь раздел «Functions»


• https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html