Swift предоставляет свои собственные версии всех основных типов C и Objective-C, в том числе Int
для целых чисел Double
и Float
для значений с плавающей запятой, Bool
для логических значений и String
для текстовых данных. Swift также предоставляет мощные версии трех основных типов коллекций Array
, Set
и Dictionary
, как описано в Типах коллекций .
Как и C, Swift использует переменные для хранения и обращения к значениям по идентифицирующему имени. Swift также широко использует переменные, значения которых не могут быть изменены. Они известны как константы и намного более мощные, чем константы в C. Константы используются во всем Swift, чтобы сделать код более безопасным и понятным, когда вы работаете со значениями, которые не нужно изменять.
В дополнение к знакомым типам, Swift представляет расширенные типы, которых нет в Objective-C, такие как кортежи. Кортежи позволяют создавать и передавать группы значений. Вы можете использовать кортеж для возврата нескольких значений из функции в виде одного составного значения.
Swift также вводит необязательные типы, которые обрабатывают отсутствие значения. Optionals говорят либо «есть это значение, и он равен х » или «там не значение на всех». Использование опций аналогично использованию nil
с указателями в Objective-C, но они работают для любого типа, а не только для классов. Опциональные опции не только безопаснее и выразительнее, чем nil
указатели в Objective-C, но и лежат в основе многих наиболее мощных функций Swift.
Swift - это типобезопасный язык, который означает, что он помогает вам понять типы значений, с которыми может работать ваш код. Если часть вашего кода требует String
, тип безопасности не позволяет вам передать его Int
по ошибке. Аналогично, безопасность типов предотвращает случайную передачу необязательного String
фрагмента кода, который требует необязательного String
. Безопасность типов помогает выявлять и исправлять ошибки как можно раньше в процессе разработки.
Константы и Переменные
Константы и переменные связывают имя (например, maximumNumberOfLoginAttempts
или welcomeMessage
) со значением определенного типа (например, число 10
или строка "Hello"
). Значение константы не может быть изменено после ее установки, тогда как в будущем для переменной можно будет установить другое значение.
Объявление констант и переменных
Константы и переменные должны быть объявлены до их использования. Вы объявляете константы с let
ключевым словом и переменные с var
ключевым словом. Вот пример того, как можно использовать константы и переменные для отслеживания количества попыток входа в систему, которые сделал пользователь:
let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0
Этот код можно прочитать как:
«Объявите новую вызванную константу maximumNumberOfLoginAttempts
и присвойте ей значение 10
. Затем объявите новую переменную с именем currentLoginAttempt
и присвойте ей начальное значение 0
».
В этом примере максимальное количество разрешенных попыток входа в систему объявляется как константа, поскольку максимальное значение никогда не изменяется. Текущий счетчик попыток входа в систему объявлен как переменная, поскольку это значение должно увеличиваться после каждой неудачной попытки входа в систему.
Вы можете объявить несколько констант или несколько переменных в одной строке, разделенных запятыми:
var x = 0.0, y = 0.0, z = 0.0
ЗАМЕТКА
Если сохраненное значение в вашем коде не изменится, всегда объявляйте его как константу с
let
ключевым словом. Используйте переменные только для хранения значений, которые должны быть в состоянии изменить.
Тип аннотации
Вы можете предоставить аннотацию типа при объявлении константы или переменной, чтобы иметь представление о типе значений, которые константа или переменная могут хранить. Напишите аннотацию типа, поместив двоеточие после имени константы или переменной, за которым следует пробел, а затем имя используемого типа.
Этот пример предоставляет аннотацию типа для переменной с именем welcomeMessage
, чтобы указать, что переменная может хранить String
значения:
var welcomeMessage: String
Двоеточие в объявлении означает «… типа…», поэтому приведенный выше код можно прочитать как:
«Объявите переменную welcomeMessage
с типом String
.»
Фраза «типа String
» означает «может хранить любое String
значение». Думайте об этом как о значении «типа вещи» (или «вида вещи»), который может быть сохранен.
Теперь welcomeMessage
переменная может быть установлена на любое строковое значение без ошибок:
welcomeMessage = "Hello"
Вы можете определить несколько связанных переменных одного и того же типа в одной строке, разделенных запятыми, с аннотацией одного типа после окончательного имени переменной:
var red, green, blue: Double
ЗАМЕТКА
На практике редко нужно писать аннотации типов. Если вы предоставите начальное значение для константы или переменной в точке, которую она определила, Swift почти всегда может определить тип, который будет использоваться для этой константы или переменной, как описано в Тип безопасности и Вывод типа . В
welcomeMessage
приведенном выше примере начальное значение неwelcomeMessage
указывается , поэтому тип переменной указывается с аннотацией типа, а не выводится из начального значения.
Именование констант и переменных
Имена констант и переменных могут содержать практически любой символ, включая символы Юникода:
let π = 3.14159
let 你好 = "你好世界"
let
0 комментариев