Литералы 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Представляет отсутствие значения.

Другие расширения