所謂字面量,就是指像特定的數(shù)字明刷,字符串或者是布爾值這樣,能夠直接了當?shù)刂赋鲎约旱念愋筒樽兞窟M行賦值的值满粗。
比如在下面:
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 - 十六進制表示
浮點型字面量
浮點型字面量有整數(shù)部分,小數(shù)點狸膏,小數(shù)部分及指數(shù)部分沟饥。
除非特別指定,浮點型字面量的默認推導類型為 Swift 標準庫類型中的 Double湾戳,表示64位浮點數(shù)贤旷。
浮點型字面量默認用十進制表示(無前綴),也可以用十六進制表示(加前綴 0x)砾脑。
/* 十進制浮點型字面量由十進制數(shù)字串后跟小數(shù)部分或指數(shù)部分(或兩者皆有)組成幼驶。
十進制小數(shù)部分由小數(shù)點 . 后跟十進制數(shù)字串組成。
指數(shù)部分由大寫或小寫字母 e 為前綴后跟十進制數(shù)字串組成韧衣,這串數(shù)字表示 e 之前的數(shù)量乘以 10 的幾次方盅藻。
例如:1.25e2 表示 1.25 ? 10^2,也就是 125.0畅铭;同樣氏淑,1.25e-2 表示 1.25 ? 10^-2,也就是 0.0125硕噩。*/
/* 十六進制浮點型字面量由前綴 0x 后跟可選的十六進制小數(shù)部分以及十六進制指數(shù)部分組成假残。
十六進制小數(shù)部分由小數(shù)點后跟十六進制數(shù)字串組成。
指數(shù)部分由大寫或小寫字母 p 為前綴后跟十進制數(shù)字串組成炉擅,這串數(shù)字表示 p 之前的數(shù)量乘以 2 的幾次方辉懒。
例如:0xFp2 表示 15 ? 2^2,也就是 60谍失;同樣眶俩,0xFp-2 表示 15 ? 2^-2,也就是 3.75袱贮。*/
/* 負的浮點型字面量由一元運算符減號 - 和浮點型字面量組成仿便,例如 -42.5体啰。*/
浮點型字面量允許使用下劃線 _ 來增強數(shù)字的可讀性,下劃線會被系統(tǒng)忽略嗽仪,因此不會影響字面量的值荒勇。
同樣地,也可以在數(shù)字前加 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位八進制數(shù)所代表的任意字符 |
\xhh... | 1到2位十六進制所代表的任意字符 |
以下為字符串字面量的簡單實例:
import Cocoa let strL = "Hello\tWorld\n我是\'一個小貝貝\'"
print(strL)
以上程序執(zhí)行結果為:
Hello World
我是一個小貝貝
布爾型字面量
布爾型字面量的默認類型是 Bool。
布爾值字面量有三個值夯秃,它們是 Swift 的保留關鍵字:
true 表示真座咆。
false 表示假。
nil 表示沒有值仓洼。