У цій статті ви дізнаєтеся все про функції, що таке функція, синтаксис, типи в Swift на прикладах.
Що таке функція?
Функція - це група тверджень, що визначає дію, яку потрібно виконати. Основне використання функції - зробити код багаторазовим.
Не технічно, ви можете сприймати функцію як машину. Машина виконує конкретне завдання, запитує введення, обробляє вхід і повертає вихід.
Типи функцій
Залежно від того, чи функція попередньо визначена чи створена програмістом; є два типи функцій:
- Бібліотечні функції - Функції, визначені вже в Swift Framework.
- Визначені користувачем функції - Функції, створені програмістом самостійно.
Бібліотечні функції
Бібліотечні функції - це вбудовані функції, які вже визначені в Swift framework. Ці функції присутні для вирішення загальних проблем у Swift, так що вам не доведеться їх вирішувати самостійно. Це прості операції, такі як друк, пошук мінімуму, максимуму тощо.
Ви можете використовувати функцію бібліотеки безпосередньо, викликаючи її (викликаючи). Якщо ви хочете, ви можете побачити всі функції всередині фреймворку Swift. Просто напишіть імпорт Swift, натисніть Cmd і клацніть на ньому. Ви перейдете на нову сторінку. Шукайте всі твердження, починаючи з func
ключового слова.
Приклад 1: Бібліотека або вбудована функція
print("Hello, World!")
Коли ви запускаєте вищезазначену програму, результат буде:
Привіт Світ!
У наведеній вище програмі ми викликали вбудовану print
функцію, визначену в Swift Framework. Функція використовується для друку вихідних даних у консолі.
Ми можемо викликати print()
функцію, оскільки фреймворк Swift автоматично імпортується на наш майданчик. В іншому випадку нам слід було б імпортувати його самостійно, написавши import Swift
.
Функції, визначені користувачем
Swift також дозволяє визначити власну функцію. Створення власної функції допомагає писати код для вирішення проблем або виконання завдань, недоступних у Swift Framework. Ви також можете повторно використовувати свою функцію для виконання подібних завдань у майбутньому.
Аналогічним чином, функції також можна класифікувати на основі параметрів і операторів повернення. Див. Статтю Типи параметрів швидкої функції та Типи повернення.
Визначення функції
func ім'я_функції (аргументи …) -> ReturnType (// оператори повертають значення)
Опишемо коротко кожен компонент:
func
- це ключове слово, яке потрібно написати для створення функціїfunction_name
- це назва функції. Ви можете дати йому будь-яку назву, яка визначає, що робить функція.args…
визначає вхід, який приймає функція.->
Цей оператор використовується для позначення типу повернення функції.ReturnType
визначає тип значення, яке можна повернути з функції. НаприкладInt
,String
тощо.return
Ключове слово використовується для передачі керування програмою у виклик функції, а також повернення значення з функції.
Навіть якщо ви не вказали ключове слово return, функція повертається автоматично після виконання останнього оператора.value
представляє фактичні дані, що повертаються з функції. Тип значення повинен відповідатиReturnType
.
Як працює функція?
На наведеній вище схемі оператор function_name(args)
викликає / викликає функцію зі значеннями аргументів args, яка потім залишає поточний розділ коду (тобто припиняє виконувати оператори під ним) і починає виконувати перший рядок всередині функції.
- Програма підходить до рядка коду
func function_name(Args… )
і приймає значення аргументів, передані під час виклику функціїfunction_name(args)
. - Потім програма виконує оператори,
statementsInsideFunction
визначені всередині функції. - Оператори всередині функції виконуються в порядку зверху вниз, один за одним.
- Після виконання останнього оператора програма залишає функцію і повертається туди, звідки вона почалася, тобто
function_name(args)
. let val =
зберігає значення, повернене з функції, у константу val. Подібним чином ви можете зберігати у змінній якvar val =
.- Після цього
statementsOutsideFunction
виконуються оператори .
Приклад 2: Як визначити функцію в Swift?
func greet(user:String) ( print("Good Morning! (user)") )
Вище показано визначення функції, яке складається з наступних компонентів:
- Ключове
func
слово позначає початок заголовка функції. greet
- це назва функції для однозначної ідентифікації та виклику функції в програмі.(user:String)
позначає кінець заголовка функції та приймає параметр типуString
. Див. Статтю Типи параметрів швидкої функції та Типи повернення, що визначає функцію з параметрами.- Функція складається з
print
оператора всередині тіла, який виконується після виклику функції.
Виклик функції
Після того, як ви створили функцію, ви можете викликати її у своїй програмі для виконання операторів, оголошених всередині функції. Щоб викликати функцію, ви просто пишете назву функції, після якої (), і передаєте вхідні параметри всередині неї як:
привітати (користувач: "Isac")
Приклад 3: Виклик функції в Swift
func greet(user:String) ( print("Good Morning! (user)") ) greet(user: "Isac")
Коли ви запускаєте вищезазначену програму, результат буде:
Доброго ранку! Ісак
У наведеному вище коді greet(user: "Isac")
викликає функцію і передає значення Isac
типу String
. Після цього print
виконується оператор усередині функції.
Заява про повернення
Ключове слово return каже програмі залишити функцію та повернутися до рядка, де було здійснено виклик функції.
Ви також можете передавати значення за допомогою return
ключового слова, де значення є змінною або іншою інформацією, що надходить від функції.
Приклад 3: Функція з ключовим словом return
func greet(user:String)-> String ( return "Good Morning! (user)" ) let greeting = greet(user: "Isac") print(""" You have a new message (greeting) """)
Коли ви запускаєте вищезазначену програму, результат буде:
У вас нове повідомлення Доброго ранку! Ісак
У наведеному вище коді greet(user: "Isac")
викликає функцію і передає значення Isac
типу String
. return "Good Morning! (user)"
оператор повертає значення типу String
і передає програму до виклику функції.
let greeting =
зберігає значення, повернене з функції. Після повернення print
функції виконується оператор під викликом функції.
Що пам’ятати
- Укажіть назву функції, яка відображає призначення функції.
- Функція повинна виконувати лише одне завдання. Якщо функція виконує більше одного завдання, розбийте її на кілька функцій.
- Спробуйте продумати раннє та згрупувати твердження всередині функції, яка робить код багаторазовим та модульним.