Литералы Swift
Так называемый литерал — это значение, которое может непосредственно указывать свой собственный тип и быть присвоено переменной, например конкретное число, строка или логическое значение. Например, в следующем:
let aNumber = 3 //整型字面量 let aString = "Hello" //字符串字面量 let aBool = true //布尔值字面量
Целочисленные литералы
Целочисленные литералы могут быть десятичными, двоичными, восьмеричными или шестнадцатеричными константами. Двоичный префикс — 0b, восьмеричный префикс — 0o, шестнадцатеричный префикс — 0x, а десятичные не имеют префикса:
Ниже приведены некоторые примеры целочисленных литералов:
let decimalInteger = 17 // 17 - 十进制表示 let binaryInteger = 0b10001 // 17 - 二进制表示 let octalInteger = 0o21 // 17 - 八进制表示 let hexadecimalInteger = 0x11 // 17 - 十六进制表示
Литералы с плавающей точкой
Литералы с плавающей точкой имеют целую часть, десятичную точку, дробную часть и экспоненциальную часть.
Если не указано иное, по умолчанию выводимый тип литерала с плавающей точкой — Double в стандартной библиотеке Swift, представляющий 64-битное число с плавающей точкой.
Литералы с плавающей точкой по умолчанию представляются в десятичном виде (без префикса), а также могут быть представлены в шестнадцатеричном виде (с префиксом 0x).
Десятичные литералы с плавающей точкой состоят из последовательности десятичных цифр, за которой следует дробная часть, экспоненциальная часть или обе. Десятичная дробная часть состоит из десятичной точки . и следующей за ней последовательности десятичных цифр. Экспоненциальная часть имеет префикс в виде заглавной или строчной буквы e, за которым следует последовательность десятичных цифр; она представляет величину перед e, умноженную на 10 в степени этого числа. Например: 1.25e2 представляет 1.25 ⨉ 10^2, что равно 125.0; аналогично, 1.25e-2 представляет 1.25 ⨉ 10^-2, что равно 0.0125.
Шестнадцатеричные литералы с плавающей точкой состоят из префикса 0x, за которым следует необязательная шестнадцатеричная дробная часть и шестнадцатеричная экспоненциальная часть. Шестнадцатеричная дробная часть состоит из десятичной точки, за которой следует строка шестнадцатеричных цифр. Экспоненциальная часть имеет префикс в виде заглавной или строчной буквы p, за которым следует строка десятичных цифр, которая представляет величину перед p, умноженную на 2 в степени этого числа. Например: 0xFp2 представляет 15 ⨉ 2^2, что равно 60; аналогично, 0xFp-2 представляет 15 ⨉ 2^-2, что равно 3.75.
Отрицательные литералы с плавающей точкой состоят из унарного оператора знака минус - и литерала с плавающей точкой, например -42.5.
Литералы с плавающей точкой допускают использование знаков подчёркивания _ для повышения удобочитаемости чисел. Знаки подчёркивания игнорируются системой и поэтому не влияют на значение литерала. Аналогично можно добавить 0 перед числом, и это не влияет на значение литерала.
Ниже приведены некоторые примеры литералов с плавающей точкой:
let decimalDouble = 12.1875 //十进制浮点型字面量 let exponentDouble = 1.21875e1 //十进制浮点型字面量 let hexadecimalDouble = 0xC.3p0 //十六进制浮点型字面量
Строковые литералы
Строковые литералы состоят из последовательности символов, заключённой в двойные кавычки, в следующей форме:
"characters"
Строковые литералы не могут содержать неэкранированные двойные кавычки ("), неэкранированные обратные косые черты (\), символы возврата каретки или символы перевода строки.
| Экранирующий символ | Значение |
|---|---|
| \0 | Нулевой символ |
| \\ | Обратная косая черта \ |
| \b | Возврат на одну позицию (BS), перемещает текущую позицию в предыдущий столбец |
| \f | Перевод страницы (FF), перемещает текущую позицию в начало следующей страницы |
| \n | Перевод строки |
| \r | Возврат каретки |
| \t | Горизонтальная табуляция |
| \v | Вертикальная табуляция |
| \' | Одинарная кавычка |
| \" | Двойная кавычка |
| \000 | Любой символ, представленный восьмеричным числом из 1–3 цифр |
| \xhh... | Любой символ, представленный шестнадцатеричным числом из 1–2 цифр |
Ниже приведены простые примеры строковых литералов:
import Cocoa let stringL = "Hello\tWorld\n\nExample官网:\'http://www.example.com\'" print(stringL)
Вывод выполнения вышеуказанной программы:
Hello World Example官网:'http://www.example.com'
Логические литералы
Тип логического литерала по умолчанию — Bool.
Логические литералы имеют три значения, которые являются зарезервированными ключевыми словами Swift:
true представляет true.
falseПредставляет false.
nilПредставляет отсутствие значения.