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

Базовый курс Swift

Операторы Swift

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

Коллекции Swift

Функции Swift

Swift Уровень выше

Переменные, константы и литералы Swift

В этой статье вы узнаете о переменных, константах, литералах и их примерах в программировании Swift.

Что такое переменная?

В программировании переменные используются для хранения данных в памяти, которые можно использовать в течение всего программы. Но каждой переменной необходимо дать уникальное имя, называемоеidentifier(Идентификатор). Переменные можно рассматривать как контейнеры для хранения информации, и впоследствии можно изменить эту информацию.

Технически, вы можете представить переменные как книги, которые хранятся в чемодане, и в будущем их можно заменить другими книгами.

Как объявить переменные в Swift?

В Swift мы используемvarКлючевое слово для объявления переменных.

var siteName: String
print(siteName)

Мы объявили переменную типа String с именем siteNameType, что означает, что она может хранить только строковые значения. ДоступСтроки SwiftМожно узнать больше о строках.

Если вы пытаетесь запустить приведенный выше код в Playgrounds, это вызовет компиляционные ошибки (использование переменных до их инициализации), так как он не хранит/не содержит никаких значений.

Как присвоить значение переменной в Swift?

Вы можете использоватьОператор присваивания(=) для присвоения значения переменной.

Пример 1: Объявите и присвойте значение переменной

var siteName: String
siteName = "Apple.com"
print(siteName)

Или

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

var siteName: String = "Apple.com"
print(siteName)

При выполнении этого программы вывод будет следующим:

Apple.com

Переменная siteName теперь содержит значение “Apple.com”.

Поскольку Swift — это язык с типом inference, он может автоматически infer (знать), что “Apple.com” — это строка и объявить siteName как тип String. Таким образом, вы даже можете удалить тип String из объявления, например:

Пример 2: Переменная с типом inference в Swift

var siteName = "Apple.com"
print(siteName)

При выполнении этого программы вывод будет следующим:

Apple.com

Поскольку siteName — это переменная, вы также можете изменить ее значение, просто используя оператор присваивания (=), без использования ключевого слова var, например:

Пример 3: Измените значение переменной

var siteName = "Apple.com" 
// Присвоить новому значению siteName
siteName = "oldtoolbag.com"
print(siteName)

При выполнении этого программы вывод будет следующим:

oldtoolbag.com

Что такое константа?

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

Технически, вы можете представить константы как рюкзак для хранения некоторых книг, и как только вы положите книги в рюкзак, их невозможно заменить.

Как声明 константу в Swift?

В Swift мы используем ключевое слово let для объявления переменных.

let siteName: String
print(siteName)

Мы уже объявили константу строки siteName.

Если вы попытаетесь запустить этот код, он вызовет ошибку компиляции (использование константы до ее инициализации), так как он не содержит/сохраняет никакого значения.

Как присвоить значение константе в Swift?

Вы можете использовать оператор присваивания (=) в том же месте, что и с переменными.Константавнутри.

Пример 4: Установите значение и назначьте его константе

let siteName: String
siteName = "Apple.com"
print(siteName)

Или

También можно inline определить значение

let siteName: String = "Apple.com"

При выполнении этого программы вывод будет следующим:

Apple.com

Теперь константа siteName содержит/имеет значение “Apple.com”.

Как и переменные, вы можете удалить тип (:String) из объявления, например:

Пример 5: Константа с типом推断ом в Swift

let siteName = "Apple.com"
print(siteName)

При выполнении этого программы вывод будет следующим:

Apple.com

Но в отличие от переменных, вы не можете изменить значение константы. Поэтому, вы не можете так сделать:

Пример 6: Изменение значения константы (недопустимо)

let siteName = "Apple.com"
siteName = "oldtoolbag.com" // ошибка времени компиляции
print(siteName)

Приведенное выше предложение вызывает ошибку, потому что, как мы говорили, как только данные сохранены, значение константы нельзя изменить. Это ключевое различие между переменными и константами.

Что такое литерал?

Литерал - это значение, которое напрямую出现在 исходном коде. Это может быть число, символ или строка и т.д. Например: "Hello, World", 12, 23.0, "C" является простым примером литерала. Литералы часто используются для инициализации переменных или констант (присвоение им значений).

Например:

let siteName = "Apple.com"

В выражении выше siteName является переменной, а "Apple.com" является литералом.

Типы литералов в Swift

Литералы целых чисел

Он представляет десятичное, двоичное, восьмеричное или шестнадцатеричное значение. У него есть四种 типа.

  • Двоичный литерал

    • Представляет двоичное значение.

    • Начинается с 0b.

  • Восьмеричный литерал

    • Представляет восьмеричное значение.

    • Начинается с 0o.

  • Шестнадцатеричный литерал

    • Представляет шестнадцатеричное значение.

    • Начинается с 0x.

  • Малое числовое литерал

    • Представляет десятичное значение.

    • Начинается с нуля. Все, что вы объявляете в литералах целых чисел, является десятичным типом.

Пример 7: Как использовать литералы целых чисел в Swift?

let binaryNumber = 0b11111111
print(binaryNumber)
print(1231)

При выполнении этого программы вывод будет следующим:

255
1231

В приведенном выше примере программы есть два литерала целых чисел 0b11111111 (бинарный литерал) и 1231 (десятичный литерал). Десятичное значение 11111111 равно 255Таким образом, команда print(binaryNumber) выводит на экран 255.

Аналогично, print(1231) выводит десятичное значение в консоли 255

Литералы строк и символов

Литералы строк и символов заключены в двойные кавычки, а литералы символов заключены в двойные кавычки.

Пример 8: Как использовать литералы строк и символов в Swift?

let someCharacter: Character = "C"
let someString: String = "Swift is awesome"

В приведенном выше примере программы "C" является литералом символа, "Swift is awesome" является литералом строки.

Литerral с плавающей запятой

Используется для инициализации переменных типа данных float и double. У него есть два типа:

Десятичное:

У него может быть опциональный индекс, представленный большой или маленькой e. Для десятичных чисел с индексом exp, база умножается на 10. exp:

Пример 9: Как использовать десятичные litterals в Swift?

let someFloat = 12.23
let someAnotherFloat = 3.14e2 
print(someFloat)
print(someAnotherFloat)

При выполнении этого программы вывод будет следующим:

12.23
314.0

В предыдущем примере 12.23, 3.14e2 - это litterals с плавающей запятой. 3.14e2 выражен в виде индекса, равен 314.0.3.14 * 10 2

Шестнадцатеричная:

Шестнадцатеричные litterals с плавающей запятой должны иметь индекс, представленный большой или маленькой п. Для шестнадцатеричных чисел с индексом exp,基数 умножается на 2. exp:

Пример 10: Как использовать шестнадцатеричные litterals в Swift?

let someFloat = 0xFp10 
let someAnotherFloat = 0xFp-12
print(someFloat)
print(someAnotherFloat)

При выполнении этого программы вывод будет следующим:

15360.0
0.003662109375

В предыдущем примере 0xFp10, 0xFp-12 - это litterals с плавающей запятой. 0xFp10 выражен в виде индекса, эквивалентен 15 * 2^10 (F означает 15 в десятичной системе счисления). Поэтому print(someFloat) выводит на экран 15360.0.

Таким образом, 0xFp-12 эквивалентен 15 * 2-12. Поэтому print(someAnotherFloat) выводит на экран 0.003662109375.

Логические litterals

В Swift есть два логических litteral: true и false.

Пример 11: Как использовать логические litterals в Swift?

let result:Bool = false

В предыдущем примере false - это логическая константа, которая назначена константе result.

Правила и beste practices для переменных и констант

  1. Выберите имя, которое имеет смысл. Например:var name var n Это имеет больше смысла

  2. Используйте запись camelCase для объявления переменных или констант. CamelCase начинается с маленькой буквы. Например:

    var studentName
    let studentAge
    let address
  3. Вы также можете определить переменные и константы, не помечая их. Не использование именных меток означает, что вы не будете использовать его в программе. В多くих случаях вы хотите создать переменную, которую не будете использовать. В этом случае вы можете использовать占位ник _.

    var _ = "Apple.com" //строка инициализирована, но не хранится в переменной
    let _ = "Apple.com"

                Даже это также эффективно

    _ = "Apple.com"
  4. Если вам нужно установить значение один раз и не нужно изменять его в программе, используйте константу. Но если в будущем вам нужно изменить её, пожалуйста, используйте переменную.

  5. Имена констант и переменных не могут содержать пробельные символы, математические знаки, стрелки, частные (или недопустимые) Unicode символы или символы линии и рамки. Они также не могут начинаться с цифры, хотя цифры могут быть включены в имена в других местах.

    var 12 = "Apple.com" //выдаёт ошибку компиляции: ожидается шаблон
    var @hello = "Hello" //выдаёт ошибку компиляции: ожидается шаблон