English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Swift Основной курс

Операторы Swift

Swift Управление потоком

Swift Коллекции

Swift Функции

Swift Высокого уровня

Функции (func) в Swift

В этой статье вы узнаете о функциях в Swift, что такое функция, синтаксис, типах через примеры.

Что такое функция?

Функция - это набор определений действий, которые необходимо выполнить. Основное назначение функции - сделать код повторно используемым.

Технически, вы можете рассматривать функцию как машину. Машина выполняет определённые задачи, требует входных данных, обрабатывает их и возвращает выходные данные.

Тип функции

Зависит от того, является ли функция предопределённой или созданной программистом; функции имеют два типа:

  1. Библиотечные функции - Функции, уже определённые в Swift Framework.

  2. Функции пользователя — функции, созданные программистом.

Библиотечные функции

Библиотечные функции — это встроенные функции, определенные в Swift Framework. Эти функции предоставлены для решения общих проблем в Swift, поэтому вам не нужно решать их самостоятельно. Это простые операции, такие как вывод, поиск минимального и максимального значений и т.д.

Вы можете использовать библиотечную функцию напрямую, вызывая ее. Если вам нужно, вы можете увидеть все функции в Swift Framework. Достаточно написать import Swift, нажмите Cmd, затем нажмите на него. Вы перейдете на новую страницу. Поиск всех выражений, начинающихся с ключевого слова func.

Пример 1: библиотека или встроенная функция

print("Hello, World!")

Когда вы запустите этот программ, вывод будет:

Hello, World!

В上面的 программе мы вызвали встроенную функцию print, определенную в Swift Framework. Эта функция используется для вывода данных в консоль.

Мы можем вызывать функцию print(), потому что Swift Framework автоматически импортируется в наш Playground. В противном случае, нам нужно будет импортировать его самостоятельно, используя import Swift.

Функции пользователя

Swift также позволяет вам определять свои собственные функции. Создание своих функций помогает писать код для решения проблем или выполнения функций, отсутствующих в Swift Framework. Вы также можете повторно использовать свои функции в будущем для выполнения схожих задач.

Таким образом, функции также можно классифицировать на основе параметров и строки return. См. статьюТипы параметров функции и значения функции в Swift.

Определение функции

func function_name(args...) -> ReturnType {
    //statement
    return value
}

Давайте кратко рассмотрим состав функции:

  • func является ключевым словом, которое необходимо написать для создания функции

  • function_name является именем функции. Вы можете дать ему любое имя, которое определяет функцию.

  • args… определяет входные данные функции.

  • -> Этот оператор используется для указания типа возвращаемого значения функции.

  • ReturnType определяет тип значения, которое может возвращать функция. Например, Int, String и т.д.

  • Ключевое слово return используется для передачи контроля программы к вызову функции и для возвращения значения из функции.
    Даже если вы не указали return Ключевое слово, функция также автоматически возвращает после выполнения последней строки.

  • value означает фактические данные, возвращаемые функцией. Тип значения должен соответствовать ReturnType.

Как работает функция?

В上图 показано, что функция function_name(args) вызывается с аргументами args, после чего функция выходит из текущей части кода (т.е. останавливает выполнение следующих строк) и начинает выполнять первую строку внутри функции.

  1. Первый строка программы, func function_name(Args...), принимает значения args, передаваемые при вызове функции function_name(args).

  2. Затем программа выполняет инструкции statementsInsideFunction, определенные внутри функции.

  3. Инструкции внутри функции выполняются по порядку от верхнего к нижнему.

  4. После выполнения последней строки программа выходит из функции и возвращается к месту, откуда начался вызов Function_Name(Args).

  5. let val = хранит возвращаемое значением функции в константу val. Также можно хранить переменную как var val =.

  6. После этого выполняются инструкции statementsOutsideFunction.

Пример 2: как определить функцию в Swift?

func greet(пользователь: String) {
    print("Доброе утро! (пользователь)")
}

Как показано выше, это определение функции, которое включает следующие компоненты:

  1. Ключевое слово func标志着函数头的开始。

  2. greet — это имя функции, используемое для уникальной идентификации и вызова функции в программе.

  3. (пользователь: String)标志着函数头的结束并接受 String типа параметр. См. статьюТипы параметров и типы возвращаемых значений функций SwiftОни определяют функцию с параметрами.

  4. Эта функция состоит из одной строки print, которая выполняется после вызова функции.

Вызов функции

Как только функция создана, ее можно вызвать в программе для выполнения объявленных в ней инструкций. Для вызова функции достаточно написать имя функции после () и передать ей входные параметры:

greet(пользователь: "Isac")

Пример 3: вызов функции в Swift

func greet(пользователь: String) {
    print("Доброе утро! (пользователь)")
}
greet(пользователь: "Isac")

Когда вы запустите этот программ, вывод будет:

Good Morning! Isac

В приведенном выше коде вызывается пользовательская функция greet(user: "Isac") и передается строковое значение Isact. После этого выполняется print, который выполняет инструкции внутри функции.

Конструкция return

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

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

Пример 3: функция с ключевым словом return

func greet(пользователь: String) -> String {
    return "Доброе утро! (пользователь)"
}
let greeting = greet(user: "Isac")
print("""
     У вас есть новое сообщение
     \(greeting)
     ""

Когда вы запустите этот программ, вывод будет:

У вас есть новое сообщение
Good Morning! Isac

В上面的 коде, вызывается пользовательская функция greet(user: "Isac") и передаётся строковый тип значения Isact. Строка return "Good Morning! \(user)" возвращает значение типа String и передаёт программу в вызов функции.

let greeting = хранить значение, возвращаемое функцией. После выполнения функции, будет выполнено предложение print под вызовом функции.

Внимание при использовании функции

  • Укажите имя функции, отражающее её用途.

  • Функция должна выполнять только одну задачу. Если функция выполняет несколько задач, разбирайте её на несколько функций.

  • Попробуйте尽早思考和整理语句 в функции, чтобы код был повторно используемым и модульным.