В тази статия ще научите всичко за функциите, какво е функция, синтаксис, типове в Swift с примери.
Какво е функция?
Функцията е група от изрази, която определя действие, което трябва да бъде изпълнено. Основната употреба на функцията е да направи кода за многократна употреба.
Нетехнически можете да мислите за функция като машина. Машината изпълнява конкретна задача, иска вход, обработва входа и връща изхода.
Видове функции
В зависимост от това дали дадена функция е предварително дефинирана или създадена от програмист; има два типа функции:
- Библиотечни функции - Функции, които са дефинирани вече в Swift Framework.
- Потребителски дефинирани функции - Функции, създадени от самия програмист.
Библиотечни функции
Библиотечните функции са вградени функции, които вече са дефинирани в Swift framework. Тези функции са налични за решаване на често срещани проблеми в Swift, така че да не се налага да ги решавате сами. Те са прости операции като печатане, намиране на минимум и максимум и т.н.
Можете да използвате библиотечната функция директно, като я извикате (извикате). Ако искате, можете да видите всички функции в рамките на Swift. Просто напишете импортирайте Swift, натиснете Cmd и щракнете върху него. Ще отворите нова страница. Търсете във всички твърдения, започвайки с func
ключова дума.
Пример 1: Библиотека или вградена функция
print("Hello, World!")
Когато стартирате горната програма, изходът ще бъде:
Здравей свят!
В горната програма извикахме вградена print
функция, дефинирана в Swift Framework. Функцията се използва за отпечатване на изходни данни в конзолата.
Можем да извикаме print()
функцията, тъй като рамката Swift се импортира автоматично в нашата площадка. В противен случай трябваше да го внесем сами, като пишем import Swift
.
Потребителски функции
Swift също ви позволява да дефинирате собствената си функция. Създаването на ваша собствена функция помага за писане на код за решаване на проблеми или изпълнение на задачи, които не са налични в Swift Framework. Можете също да използвате повторно вашата функция, за да изпълнявате подобни задачи в бъдеще.
По същия начин, функциите могат също да бъдат категоризирани в основата на параметрите и операторите за връщане. Вижте статията Swift Function Parameter Types и Return Types.
Дефиниране на функция
func function_name (аргументи …) -> 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
. Вижте статията Swift Function Parameter Types и Return Types, която дефинира функция с параметри.- Функцията се състои от
print
оператор в тялото, който се изпълнява, след като извикате функцията.
Извикване на функция
Once you have created a function, you can call it in your program to execute the statements declared inside the function. To call a function you simply write the function name followed by ()and pass the input parameters inside it as:
greet(user: "Isac")
Example 3: Calling a function in Swift
func greet(user:String) ( print("Good Morning! (user)") ) greet(user: "Isac")
When you run the above program, the output will be:
Good Morning! Isac
In the above code, greet(user: "Isac")
calls the function and passes valueIsac
of type String
. After that, print
statement inside the function executes.
Return Statement
The return keyword tells the program to leave the function and return to line where the function call was made.
You can also pass value with the return
keyword where value is a variable or other information coming back from the function.
Пример 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
операторът под извикването на функцията се изпълнява.
Неща за запомняне
- Дайте име на функция, което отразява целта на функцията.
- Функцията трябва да изпълнява само една задача. Ако дадена функция изпълнява повече от една задача, разбийте я на множество функции.
- Опитайте се да мислите рано и да групирате изявления във функция, която прави кода многократно и модулен.