Читайте также:
|
|
- Как и во всех языках в Swift мы хотим, чтобы разделы нашего кода и обернуть вверх в модульных, многократно используемых частей, давая те части имени. Так вот, как мы пишем и призываем наших собственных функций. Теперь для тех из вас, кто являются чистыми объектно-ориентированных людей, и вы побеждает немного, чтобы определить свои собственные классы и думать: "Ну, я не нуждаемся ни в вонючие функции", все, что я пишу, будет метод класса. "Ну позвольте мне заверить вас, мы вернемся к этому очень скоро. Но сейчас предположим, что все, что я собираюсь сказать в ближайшие несколько минут о функциях на 100 процентов актуально, когда мы создаем наши собственные классы.
Таким образом, в Swift необходимо ключевое слово FUNC, поэтому сначала вот простейший вид функции, один не принимает никакого ввода и не возвращает никакого значения, это просто выполняет некоторые поведение. Теперь обратите внимание у меня есть набор пустых скобках после имени функции, скобки могут быть необязательными во многих местах в Swift, но не здесь. Эти скобки имеют смысл, я явное, что моя функция не имеет входных параметров и в соответствии с соглашением мы используем верблюжьего для имен функций в Свифт.
Теперь, чтобы назвать это, не удивительно, что мы просто используем имя функции и снова, скобки необходимы при вызове явно сказать, что мы пытаемся не проходить никаких значений в этой функции. Итак, давайте затем добавьте входной параметр так, что мы можем передать значение внутри. Таким образом, мы получили определение функции и внутри скобок мы предоставляем информацию о том, что данные, которые мы передаем, мы должны указать имя и тип каждого параметра, и мы используем двоеточие здесь, аннотации типа, так же, как при определении переменных и констант в Swift, толстой кишки означает "является тип", так вот наш входной параметр называется имя типа String.
Итак, мы можем затем использовать этот параметр в теле функции, и назвать его просто проходят в буквальном или переменной соответствующего типа. Теперь, если мы хотели, чтобы определить несколько входных параметров, что вы собираетесь сделать, это просто разделите их запятой, но оба из них нужно как имя и тип, разделенные двоеточием. При вызове функции, определенные таким образом, мы просто пройти в нужных данных, разделенных запятыми. Однако есть важный момент, чтобы понять о параметрах в Swift, ребята.
Помните, я уже говорил, как важно константы у Свифта, а по умолчанию входной параметр в функцию рассматривается как постоянное, а не переменная. Позвольте мне сказать, что снова у Свифта, по умолчанию, входным параметром является константой, а не переменной, так что если я написал определение функции, как это, где мы проходим в качестве входного параметра под названием возраста, и это типа Int, если я попытаться изменить это, я иду, чтобы получить ошибку компиляции, потому что этот параметр является константой.
Если мне нужно изменить это значение, я мог бы создать новую переменную внутри моей функции и скопировать значение или есть возможность явно указать входной параметр в переменную, добавив в вар ключевое слово перед ним в список параметров. Это еще одно место, где Swift очень специфичен и по умолчанию будет непреложных ценностей или неизменных ценностей, если только вы явно не скажете иначе. Затем, если это, как мы передать информацию в, как мы возвращаемся значение формируют нашу функцию? Во многих языках C стиль, вы пишете типы возвращаемых в начале функции, но не у Свифта.
В Свифт, тип возвращаемого значения функции наступает после каких-либо входные параметры определены, так что после скобках или нет мы передаем любую информацию в это, мы затем добавить обратный стрелку, тире и больше, то знак, и после этого, тип, мы возвращая строку, мы возвращая целое число, независимо должен быть возвращен. Нам не нужно здесь имя, мы просто должны тип. Поэтому, когда вы читаете через SWIFT-код это такое возвращение стрелка, которая является показателем того, что эта функция возвращает значение некоторого типа.
Если у вас есть этот обратный стрелку, ваша функция, то должны быть достижимой возврата заявление, что будет на самом деле возвращать тип данных такого рода. Таким образом, мы затем вызвать его, и мы могли принять значение Возвращаясь из этой функции в переменной или постоянной, или мы могли бы просто использовать результат вызова этого прямо в некоторое другое утверждение, как здесь, в Println заявлении. Так что в следующий вверх, как об определении значения по умолчанию для входного параметра, и это очень легко сделать, но для этого потребуется небольшое изменение, когда мы вызываем функцию. Вот что я имею в виду, что мы начнем с простой функции под названием MYFUNCTION, внутри списка параметров я буду иметь параметр типа String, а затем использовать равняется John Doe, чтобы обеспечить этот начальное значение по умолчанию, это выглядит очень похоже на определяя переменную хотя интересно вывод типа не происходит здесь, я не могу опустить тип толстой кишки, когда вы определяете параметры.
Так как о том, когда мы называем эту функцию, ну вот интересная штука, если я просто попробовать и назвать его и передать в значении, это сработало бы, прежде чем мы условии, значение по умолчанию, но больше не будет работать.Важным моментом, чтобы понять, что когда вы начинаете добавить значения по умолчанию в определениях функций, а затем вы хотите вызвать функцию, но не использовать значение по умолчанию, то вы должны назвать свой аргумент. Так это то, что я имею в виду, что мы можем просто вызвать функцию передавая ничего, что вполне приемлемо то будут использоваться значения по умолчанию John Doe.
Если я хочу, чтобы назвать это и передавать значение для замены, что по умолчанию, я должен предоставить именованный аргумент, мы должны использовать имя параметра, в нашем случае это имя, затем двоеточие, затем значение, мы должны явно назвать эту часть данных, рассказывая Swift что параметр предназначен это значение для. Теперь, это может показаться немного странным, имея назвать наши параметры при вызове нашу функцию, в конце концов есть только один параметр в этой функции, конечно, он должен понять, что это часть данных предназначена для, но причина этого заключается в том, что Если у нас есть несколько параметров, определенных в зависимости, скажем, у нас есть функция, определенная с двумя параметрами, а, б, причем оба заданные значения по умолчанию 10 и 50, а затем, когда мы его называем, что произойдет, если мы просто передать в единый ценность? В этом случае, проходящей в 99, является то, что заменяет значение по умолчанию для или B? Так что это даст вам ошибку компиляции, вы можете передать в одном значении, и вы могли бы сделать это для, так: 99 или один для Ь, 200 или вы можете перейти в А и В, назвав оба этих параметров, но как только вы начинаете, содержащая значения по умолчанию для параметров нужно назвать информацию, когда вы передаете его в.
Некоторые языки могут поддерживать дополнительные значения, имея запятые и оставив значения пустой, но у Свифта, как мы делаем, не только называя параметров при определении функции, но называя наши аргументы При обращении в нашу функцию. Теперь к счастью, Xcode поможет вам автозаполнения эту информацию только ваши функции определены, так что это очень легко писать и делает для очень читаемый код, это один из немногих кивает Свифт Objective-C, где вы также называют свои аргументы при вызове методов Ладно, есть еще вещи, которые мы можем сделать, с функциями, но это, конечно, достаточно, чтобы двигаться дальше и в следующем разделе мы собираемся двигаться мимо основных строк и целых чисел и начать исследовать более сложные типы в Swift как коллекций и работы с typles и закрытия.
Дата добавления: 2015-08-20; просмотров: 176 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Defining functions | | | Creating and using arrays |