У овом чланку ћете научити све о функцијама, шта је функција, синтакса, типови у Свифт-у са примерима.
Шта је функција?
Функција је група изјава која дефинише радњу коју треба извршити. Главна употреба функције је да се код поново употреби.
Нетехнички, функцију можете сматрати машином. Машина извршава одређени задатак, тражи улаз, обрађује улаз и враћа излаз.
Врсте функција
У зависности од тога да ли је функција унапред дефинисана или је креира програмер; постоје две врсте функција:
- Функције библиотеке - функције које су дефинисане већ у Свифт Фрамеворк-у.
- Кориснички дефинисане функције - Функције које је сам креирао програмер.
Библиотечке функције
Функције библиотеке су уграђене функције које су већ дефинисане у Свифт оквиру. Ове функције су присутне за решавање уобичајених проблема у Свифту, тако да их не морате сами решавати. То су једноставне операције попут штампања, проналажења минимума и максимума итд.
Функцију библиотеке можете користити директно позивањем (позивањем). Ако желите, можете видети све функције унутар Свифт оквира. Само напишите импорт Свифт, притисните Цмд и кликните на њега. Отворићете нову страницу. Претражите све изјаве почев од func
кључне речи.
Пример 1: Библиотека или уграђена функција
print("Hello, World!")
Када покренете горњи програм, излаз ће бити:
Здраво Свете!
У горе наведеном програму позвали смо се на уграђену print
функцију дефинисану у Свифт Фрамеворк-у. Функција се користи за испис излаза у конзоли.
Можемо позвати print()
функцију јер се Свифт фрамеворк аутоматски увози у наше игралиште. У супротном, требали смо да га сами увеземо писањем import Swift
.
Кориснички дефинисане функције
Свифт вам такође омогућава да дефинишете сопствену функцију. Стварање сопствене функције помаже у писању кода за решавање проблема или извршавање задатака који нису доступни у Свифт Фрамеворк-у. Такође можете поново користити своју функцију за обављање сличних задатака у будућности.
Слично томе, функције се такође могу категоризирати на основу параметара и наредби повратка. Погледајте чланак Врсте брзих параметара функције и типови повратка.
Дефинисање функције
фунц фунцтион_наме (аргс…) -> РетурнТипе (// изрази враћају вредност)
Хајде да укратко опишемо сваку компоненту:
func
је кључна реч коју морате написати да бисте креирали функцијуfunction_name
је назив функције. Можете му дати било које име које дефинише шта функција ради.args…
дефинише улаз који функција прихвата.->
Овај оператор се користи за означавање типа поврата функције.ReturnType
дефинише тип вредности коју можете вратити из функције. Нпр.Int
,String
Итд.return
Кључна реч се користи за пренос контроле програма на позив функције и такође за враћање вредности из функције.
Чак и ако не наведете кључну реч ретурн , функција се аутоматски враћа након извршавања последњег израза.value
представља стварне податке који се враћају из функције. Тип вредности мора одговаратиReturnType
.
Како функционише функција?
У горњем дијаграму, наредба function_name(args)
позива / позива функцију са вредностима аргумената аргс, која затим напушта тренутни одељак кода (тј. Зауставља извршавање наредби испод њега) и почиње да извршава прву линију унутар функције.
- Програм долази до реда кода
func function_name(Args… )
и прихвата аргументе вредности прослеђене током позива функцијеfunction_name(args)
. - Програм затим извршава изразе
statementsInsideFunction
дефинисане унутар функције. - Наводи унутар функције извршавају се редом одозго према доље, један за другим.
- Након извршења последњег израза, програм напушта функцију и враћа се тамо одакле је кренуо тј
function_name(args)
. let val =
чува вредност враћену из функције у константу вал. Слично томе, можете чувати у променљивој каоvar val =
.- Након тога
statementsOutsideFunction
се извршавају изјаве .
Пример 2: Како дефинисати функцију у Свифту?
func greet(user:String) ( print("Good Morning! (user)") )
Изнад је приказана дефиниција функције која се састоји од следећих компоненти:
- Кључна реч
func
означава почетак заглавља функције. greet
је име функције за јединствено препознавање и позивање функције у програму.(user:String)
означава крај заглавља функције и прихвата параметар типаString
. Погледајте чланак Типови параметара брзе функције и типови повратка који дефинишу функцију са параметрима.- Функција се састоји од
print
израза унутар тела који се извршава након што позовете функцију.
Позивање функције
Једном када креирате функцију, можете је позвати у свом програму да изврши изразе декларисане унутар функције. Да бисте позвали функцију, једноставно напишите име функције иза које слиједи () и унесите параметре унутар ње као:
поздрав (корисник: "Исац")
Пример 3: Позивање функције у Свифту
func greet(user:String) ( print("Good Morning! (user)") ) greet(user: "Isac")
Када покренете горњи програм, излаз ће бити:
Добро јутро! Исац
У горњем коду greet(user: "Isac")
позива функцију и прослеђује вредност Isac
типа String
. Након тога print
се извршава израз унутар функције.
Изјава о повратку
Кључна реч ретурн каже програму да напусти функцију и врати се на линију на којој је извршен позив функције.
Такође можете проследити вредност помоћу return
кључне речи где је вредност променљива или друге информације које се враћају из функције.
Пример 3: Функција са кључном речи ретурн
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
извршава се наредба испод позива функције.
Ствари које треба памтити
- Дајте име функције које одражава сврху функције.
- Функција треба да испуни само један задатак. Ако функција извршава више задатака, поделите је на више функција.
- Покушајте да рано размишљате и групишете изјаве унутар функције која чини код вишекратним и модуларним.