Swift教學
Swift快速入門
Swift簡介
Swift基礎
Swift常量和變量
Swift註釋
swift分號
Swift整數
Swift浮點數
Swift類型安全和類型推斷
swift數值型字面量
Swift數值型類型轉換
Swift類型別名
Swift布爾值
Swift元組
Swift可選類型
Swift斷言
Swift基本運算符
Swif哈希集合
Swift運算術語
Swift字典
Swift賦值運算符
Swift數值運算
Swift複合賦值
Swift比較運算
Swift三元條件運算
Swift區間運算符
Swift邏輯運算
Swift字符串和字符
Swift字符串字面量
Swift初始化空字符串
Swift字符串可變性
Swift字符串是值類型
Swift使用字符
Swift計算字符數量
Swift連接字符串和字符
Swift字符串插值
Swift比較字符串
Swift大寫和小寫字符串
Swift Unicode
Swift集合類型 (Collection Types)
Swift數組
Swift字典
Swift集合的可變性
Swift控制流
Swift For循環
Swift While循環
Swift條件語句
Swift控制轉移語句
Swift函數
Swift函數的定義與調用
Swift函數參數與返回值
Swift函數參數名稱
Swift函數類型
Swift嵌套函數
Swift閉包
Swift閉包表達式
Swift尾隨閉包
Swift捕獲值
Swift閉包是引用類型
Swift枚舉
Swift枚舉語法
Swift匹配枚舉值和Switch語句
Swift相關值
Swift原始值
Swift類和結構體
Swift類和結構體對比
Swift結構體和枚舉是值類型
Swift類是引用類型
Swift類和結構體的選擇
Swift集合(Collection)類型的賦值和拷貝行爲
Swift屬性
Swift存儲屬性
Swift計算屬性
Swift屬性監視器
Swift全局變量和局部變量
Swift類型屬性
Swift方法
Swift實例方法
Swift類型方法
Swift下標腳本
Swift下標腳本語法
Swift下標腳本用法
Swift下標腳本選項
Swift繼承
Swift定義一個基類
Swift子類生成
Swift重寫
Swift防止重寫
Swift構造過程
Swift存儲型屬性的初始賦值
Swift定製化構造過程
Swift默認構造器
Swift值類型的構造器代理
Swift類的繼承和構造過程
Swift通過閉包和函數來設置屬性的默認值
Swift析構過程
Swift析構過程原理
Swift析構函數操作
Swift自動引用計數
Swift自動引用計數的工作機制
Swift自動引用計數實踐
Swift類實例之間的循環強引用
Swift解決實例之間的循環強引用
Swift閉包引起的循環強引用
Swift解決閉包引起的循環強引用
Swift可選鏈
Swift可選鏈可替代強制解析
Swift爲可選鏈定義模型類
Swift通過可選鏈調用屬性
Swift通過可選鏈調用方法
Swift使用可選鏈調用子腳本
Swift連接多層鏈接
Swift鏈接可選返回值的方法
Swift類型轉換
Swift定義一個類層次作爲例子
Swift檢查類型
Swift向下轉型
Swift Any和AnyObject類型轉換
Swift嵌套類型
Swift嵌套類型實例
Swift嵌套類型的引用
Swift擴展
Swift擴展語法
Swift計算型屬性
Swift構造器
Swift方法擴展
Swift下標
Swift嵌套類型擴展
Swift協議
Swift協議的語法
Swift屬性要求
Swift方法要求
Swift突變方法要求
Swift協議類型
Swift委託(代理)模式
Swift在擴展中添加協議成員
Swift通過擴展補充協議聲明
Swift集合中的協議類型
Swift協議的繼承
Swift協議合成
Swift檢驗協議的一致性
Swift可選協議要求
Swift泛型
Swift泛型所解決的問題
Swift泛型函數
Swift類型參數
Swift命名類型參數
Swift泛型類型
Swift類型約束
Swift關聯類型
Swift Where語句
Swift高級運算符
Swift位運算符
Swift溢出運算符
Swift優先級和結合性
Swift運算符函數
Swift自定義運算符
Swift語法結構
Swift空白與註釋
Swift標識符
Swift關鍵字
Swift字面量
Swift運算符
Swift類型
Swift類型註解
Swift類型標識符
Swift元組類型
Swift函數類型(參數類型和返回值類型)
Swift數組類型
Swift可選類型(命名型類型)
Swift隱式解析可選類型
Swift協議合成類型
Swift元類型
Swift類型繼承子句
Swift類型推斷
Swift表達式
Swift前綴表達式
Swift二元表達式
Swift賦值表達式
Swift類型轉換運算符
Swift主表達式
Swift後綴表達式
Swift語句
Swift循環語句
Swift For語句
Swift分支語句
Swift帶標籤的語句
Swift聲明
Swift模塊範圍
Swift代碼塊
Swift引入聲明
Swift常量聲明
Swift類型的別名聲明
Swift函數聲明
Swift枚舉聲明
Swift結構體聲明
Swift類聲明
Swift協議聲明
Swift構造器聲明
Swift析構聲明
Swift擴展聲明
Swift下標腳本聲明
Swift運算符聲明
Swift變量聲明
Swift特性
Swift聲明特性
Swift類型特性
Swift模式
Swift通配符模式
Swift標識符模式
Swift值綁定模式
Swift元組模式
Swift枚舉用例模式
Swift類型轉換模式
Swift表達式模式
Swift泛型參數
Swift泛型形參子句
Swift開發環境設置
Swift基本語法
Swift數據類型
Swift變量
Swift常量
Swift字面量
Swift運算符
Swift比較運算符
Swift邏輯運算符
Swift位運算符
Swift賦值運算符
Swift範圍運算符
Swift其它運算符
Swift運算符優先級
Swift算術運算符
Swift if語句
Swift if...else語句
Swift if...else if...else語句
Swift嵌套 if 語句
Swift Switch語句
Swift決策
Swift for-in循環
Swift for循環
Swift while循環
Swift do...while循環
Swift continue語句
Swift break語句
Swift fallthrough語句
Swift循環
Swift字符串
Swift字符
Swift數組
Swift函數
Swift閉包
Swift枚舉
Swift結構體
Swift類
Swift 屬性
Swift 方法
Swift 下標
Swift 繼承
Swift初始化
Swift 反初始化
Swift ARC自動引用計數
Swift 可選鏈
Swift 類型轉換
Swift 擴展
Swift 協議
Swift 泛型
Swift訪問控制

Swift字面量

字面量

字面值表示整型、浮點型數字或文本類型的值,舉例如下:

42                 // 整型字面量
3.14159            // 浮點型字面量
"Hello, world!"    // 文本型字面量

字面量語法
字面量 → 整型字面量 | 浮點數字面量 | 字符串字面量  

整型字面量

整型字面量(integer literals)表示未指定精度整型數的值。整型字面量默認用十進制表示,可以加前綴來指定其他的進制,二進制字面量加 0b,八進制字面量加 0o,十六進制字面量加 0x

十進制字面量包含數字 0 至 9。二進制字面量只包含 0 或 1,八進制字面量包含數字 0 至 7,十六進制字面量包含數字 0 至 9 以及字母 A 至 F (大小寫均可)。

負整數的字面量在數字前加減號 -,比如 -42

允許使用下劃線 _ 來增加數字的可讀性,下劃線不會影響字面量的值。整型字面量也可以在數字前加 0,同樣不會影響字面量的值。

1000_000     // 等於 1000000
005          // 等於 5

除非特殊指定,整型字面量的默認類型爲 Swift 標準庫類型中的 Int。Swift 標準庫還定義了其他不同長度以及是否帶符號的整數類型,請參考 整數類型

整型字面量語法
整型字面量 → 二進制字面量
整型字面量 → 八進制字面量
整型字面量十進制字面量
整型字面量十六進制字面量
二進制字面量0b 二進制數字 二進制字面量字符列表 可選
二進制數字 → 數值 0 到 1
二進制字面量字符 → 進制數字 | _
二進制字面量字符列表 → 二進制字面量字符 二進制字面量字符列表 可選
八進制字面量 → 0o 八進字數字 八進制字符列表 可選
八進字數字 → 數值 0 到 7
八進制字符 → 八進字數字 | _
八進制字符列表 → 八進制字符 八進制字符列表 可選
十進制字面量 → 十進制數字 十進制字符列表 可選
十進制數字 → 數值 0 到 9
十進制數字列表 → 十進制數字 十進制數字列表 可選
十進制字符 → 十進制數字 | _
十進制字符列表 → 十進制字符 十進制字符列表 可選
十六進制字面量 → 0x 十六進制數字 十六進制字面量字符列表 可選
十六進制數字 → 數值 0 到 9, a through f, or A through F
十六進制字符 → 十六進制數字 | _
十六進制字面量字符列表 → 十六進制字符 十六進制字面量字符列 可選  

浮點型字面量

浮點型字面量(floating-point literals)表示未指定精度浮點數的值。

浮點型字面量默認用十進制表示(無前綴),也可以用十六進制表示(加前綴 0x)。

十進制浮點型字面量(decimal floating-point literals)由十進制數字串後跟小數部分或指數部分(或兩者皆有)組成。十進制小數部分由小數點 . 後跟十進制數字串組成。指數部分由大寫或小寫字母 e 後跟十進制數字串組成,這串數字表示 e 之前的數量乘以 10 的幾次方。例如:1.25e2 表示 1.25 ⨉ 10^2,也就是 125.0;同樣,1.25e-2 表示 1.25 ⨉ 10^-2,也就是 0.0125

十六進制浮點型字面量(hexadecimal floating-point literals)由前綴 0x 後跟可選的十六進制小數部分以及十六進制指數部分組成。十六進制小數部分由小數點後跟十六進制數字串組成。指數部分由大寫或小寫字母p 後跟十進制數字串組成,這串數字表示 p 之前的數量乘以 2 的幾次方。例如:0xFp2 表示15 ⨉ 2^2,也就是 60;同樣,0xFp-2 表示 15 ⨉ 2^-2,也就是 3.75

與整型字面量不同,負的浮點型字面量由一元運算符減號 - 和浮點型字面量組成,例如 -42.0。這代表一個表達式,而不是一個浮點整型字面量。

允許使用下劃線 _ 來增強可讀性,下劃線不會影響字面量的值。浮點型字面量也可以在數字前加 0,同樣不會影響字面量的值。

10_000.56     // 等於 10000.56
005000.76     // 等於 5000.76

除非特殊指定,浮點型字面量的默認類型爲 Swift 標準庫類型中的 Double,表示64位浮點數。Swift 標準庫也定義 Float 類型,表示32位浮點數。

浮點型字面量語法
浮點數字面量 → 十進制字面量 十進制分數 可選 十進制指數 可選
浮點數字面量 → 十六進制字面量 十六進制分數 可選 十六進制指數
十進制分數. 十進制字面量
十進制指數浮點數e 正負號 可選 十進制字面量
十六進制分數. 十六進制字面量 可選
十六進制指數 → 浮點數p 正負號 可選 十六進制字面量
浮點數e → e | E
浮點數p → p | P
正負號 → + | -  

文本型字面量

文本型字面量(string literal)由雙引號中的字符串組成,形式如下:

"characters"

文本型字面量中不能包含未轉義的雙引號 "、未轉義的反斜線\、回車符(carriage return)或換行符(line feed)。

可以在文本型字面量中使用的轉義特殊符號如下:

  • 空字符(Null Character)\0
  • 反斜線(Backslash)\\
  • 水平 Tab (Horizontal Tab)\t
  • 換行符(Line Feed)\n
  • 回車符(Carriage Return)\r
  • 雙引號(Double Quote)\"
  • 單引號(Single Quote)\'

字符也可以用以下方式表示:

  • \x 後跟兩位十六進制數字
  • \u 後跟四位十六進制數字
  • \U 後跟八位十六進制數字

後跟的數字表示一個 Unicode 碼點。

文本型字面量允許在反斜線小括號 \() 中插入表達式的值。插入表達式(interpolated expression)不能包含未轉義的雙引號 "、反斜線 \、回車符或者換行符。表達式值的類型必須在 String 類中有對應的初始化方法。

例如,以下所有文本型字面量的值相同:

"1 2 3"
"1 2 \(3)"
"1 2 \(1 + 2)"
var x = 3; "1 2 \(x)"

文本型字面量的默認類型爲 String。組成字符串的字符類型爲 Character。更多有關 String 和Character 的信息請參照 字符串和字符

字符型字面量語法
字符串字面量 → " 引用文本 "
引用文本 → 引用文本條目 引用文本 可選
引用文本條目 → 轉義字符
引用文本條目( 表達式 )
引用文本條目 → 除了"­, \­, U+000A, or U+000D的所有Unicode的字符
轉義字符 → \0 | \ | \t | \n | \r | \" | \'
轉義字符 → \x 十六進制數字 十六進制數字
轉義字符\u 十六進制數字 十六進制數字 十六進制數字 十六進制數字
轉義字符\U 十六進制數字 十六進制數字 十六進制數字 十六進制數字 十六進制數字 十六進制數字 十六進制數字 十六進制數字