Найти тему
Apple Swift

Swift: функция

Функция предназначена для группировки кода с целью его повторного использования.

Синтаксис объявления функции:

func имяФункции (входной параметр:тип параметра)->тип возвращаемого значения{

тело функции

}

Исполнение кода функции осуществляется вызовом функции:

имяФункции(внешнее имя входного параметра функции:аргумент соответствующего типа)

(Аргумент функции - значение или его символьное имя Параметр функции - принятый функцией аргумент)

Параметры и аргументы более одного записываются через запятую. Все аргументы должны соответствовать типу соответствующего параметра. Аргументы должны записываться в порядке соответствующем порядку записи параметров. Параметры являются константами и не могут быть изменены. Параметры и переменные объявленный внутри функции недоступны вне функции.

func someFunction(num1:Int, str1:String)->String{

return "Мне \(num1) \(str1)"

}

При вызове функции указывается ее имя. А входным параметрам передаются аргументы.

someFunction(num1:16, str1:"лет")//аргуметы

Ключевое слово return обозначает возвращаемое значение завершая выполнение кода функции.

Возвращаемое значение можно записать в переменную или константу:

var someVar=someFunction(num1:16, str1:"лет")

print(someVar)//Мне 16 лет

Если функция не возвращает значение, то это можно обозначить следующим образом:

отсутствием обозначения

func someFunction(){

print("Мне 16 лет")

}

->()

func someFunction()->(){

print("Мне 16 лет")

}

->Void

func someFunction()->Void{

print("Мне 16 лет")

}

Если перед именем параметра функции установить символ нижнего подчеркивания и пробел, то передача аргумента осуществляется без указания имени параметра:

func someFunction(_ num1:Int, str1:String){

print("Мне \(num1) \(str1)")

}

someFunction(16, str1:"лет")

Таким же способом можно указать произвольное имя внешнего параметра:

func someFunction(age num1:Int, str1:String){

print("Мне \(num1) \(str1)")

}

someFunction(age:6, str1:"лет")

Чтобы изменить значение параметра функции, следует присвоить это значение переменной внутри функции:

func someFunction (_ str:String){

var text=str

print(text)//JavaScript

text="SWIFT"//присваивается другое значение

print(text)//SWIFT

}

someFunction("JavaScript")

Попытка изменить значение str="SWIFT" приведет к ошибке сообщающей, что это константа.