在本文中,您將了解Swift編程中的變量,常量,字面量及其示例。
在編程中,變量用于將數(shù)據(jù)存儲(chǔ)在內(nèi)存中,可在整個(gè)程序中使用。但必須給每個(gè)變量一個(gè)唯一的名稱,稱為identifier(標(biāo)識(shí)符)。可以將變量看作保存信息的容器,并且以后可以更改這些信息。
從技術(shù)上講,您可以將變量視為用于在其中存儲(chǔ)書包的一些書,以后也可以將這些書替換為其他書籍。
在Swift中,我們使用var關(guān)鍵字聲明變量。
var siteName:String print(siteName)
我們已經(jīng)聲明了一個(gè)名為 siteNametype 的String變量,這意味著它只能保存字符串值。訪問Swift字符串可以了解有關(guān)字符串的更多信息。
如果您嘗試在Playground中運(yùn)行以上代碼,則會(huì)給我們帶來編譯時(shí)錯(cuò)誤(在初始化之前使用變量),因?yàn)樗鼪]有存儲(chǔ)/包含任何值。
您可以使用賦值運(yùn)算符(=)在變量中賦值。
var siteName:String siteName = "Apple.com" print(siteName)
或者
您還可以將該值內(nèi)聯(lián)賦值為:
var siteName:String = "Apple.com" print(siteName)
運(yùn)行該程序時(shí),輸出為:
Apple.com
變量 siteName,現(xiàn)在包含值“ Apple.com”。
由于Swift是一種類型推斷語言,因此它可以自動(dòng)推斷(知道)“ Apple.com”是一個(gè)字符串,并聲明siteName為String類型。因此,您甚至可以將(:String)聲明中的類型刪除為:
var siteName = "Apple.com" print(siteName)
運(yùn)行該程序時(shí),輸出為:
Apple.com
由于siteName是一個(gè)變量,因此您還可以通過簡單地使用賦值運(yùn)算符來更改其值,而無需使用var關(guān)鍵字,例如:
var siteName = "Apple.com" // 為siteName分配一個(gè)新值 siteName = "(cainiaoplus.com)" print(siteName)
運(yùn)行該程序時(shí),輸出為:
(cainiaoplus.com)
常量是變量的一種特殊類型,其值不能更改。將常量視為保存以后無法更改的信息的容器。
從技術(shù)上講,您可以將常量視為用于存儲(chǔ)某些書籍的書包,而將這些書放入書包后就無法替換。
在Swift中,我們使用 let 關(guān)鍵字來聲明變量。
let siteName:String print(siteName)
我們已經(jīng)聲明了一個(gè)名為 siteNametype 的常量字符串。
如果您嘗試運(yùn)行以上代碼,則會(huì)給我們帶來編譯時(shí)錯(cuò)誤(初始化之前使用常量),因?yàn)樗话?保留任何值。
您可以使用賦值運(yùn)算符(=)在與變量相同的常量中賦值。
let siteName:String siteName = "Apple.com" print(siteName)
或者
也可以將值內(nèi)聯(lián)指定為
let siteName:String = "Apple.com"
運(yùn)行該程序時(shí),輸出為:
Apple.com
現(xiàn)在,該常量 siteName 包含/持有值為“ Apple.com”。
與變量類似,您可以從聲明中刪除類型(:String),如下所示:
let siteName = "Apple.com" print(siteName)
運(yùn)行該程序時(shí),輸出為:
Apple.com
let siteName = "Apple.com" siteName = "(cainiaoplus.com)" //compile time error print(siteName)
上面的語句給了我們拋出一個(gè)錯(cuò)誤,因?yàn)檎缥覀兯f的,一旦存儲(chǔ)了數(shù)據(jù),常量的值就不能更改。這是變量和常量之間的關(guān)鍵區(qū)別。
字面量是直接出現(xiàn)在源代碼中的值。它可以是數(shù)字,字符或字符串等。例如:“ Hello,World”,12、23.0,“ C”是字面量的簡單示例。字面量常用于初始化變量或常量(將值分配給它們)。
例如:
let siteName = "Apple.com"
在上面的表達(dá)式中,siteName 是一個(gè)變量,并且 "Apple.com"是一個(gè)字面量。
它表示十進(jìn)制,二進(jìn)制,八進(jìn)制或十六進(jìn)制值。它有四種類型。
二進(jìn)制字面量
表示二進(jìn)制值。
0b 開頭。
八進(jìn)制字面量
表示八進(jìn)制值。
0o 開頭。
十六進(jìn)制文字
表示十六進(jìn)制值。
0x 開頭。
小數(shù)字面量
表示十進(jìn)制值。
從零開始。 您在整數(shù)字面量中聲明的所有內(nèi)容都是十進(jìn)制類型。
示例7:如何在Swift中使用整數(shù)字面量?
let binaryNumber = 0b11111111 print(binaryNumber) print(1231)
運(yùn)行該程序時(shí),輸出為:
255 1231
在上面的程序中,有兩個(gè)整數(shù)字面量 0b11111111(二進(jìn)制字面量)和1231(十進(jìn)制字面量)。11111111 的十進(jìn)制值是 255,因此print(binaryNumber) 語句在屏幕輸出 255。
類似地,print(1231) 在控制臺(tái)中輸出十進(jìn)制值 255。
字符串字面量是由雙引號(hào)引起來的字符序列,而字符字面量是由雙引號(hào)引起來的單個(gè)字符。
示例8:如何在Swift中使用字符串和字符字面量?
let someCharacter:Character = "C" let someString:String = "Swift is awesome"
在上面的程序中"C"是一個(gè)字符字面量,"Swift is awesome" 是一個(gè)字符串字面量。
用于初始化數(shù)據(jù)類型 float 和 double 的變量。它可以有兩種類型:
小數(shù):
它可以具有可選的指數(shù),由大寫或小寫e表示。對(duì)于指數(shù)為exp的十進(jìn)制數(shù),將基數(shù)乘以 10 exp:
示例9:如何在Swift中使用十進(jìn)制字面量?
let someFloat = 12.23 let someAnotherFloat = 3.14e2 print(someFloat) print(someAnotherFloat)
運(yùn)行該程序時(shí),輸出為:
12.23 314.0
在上面的程序中12.23,3.14e2是浮點(diǎn)字面量。3.14e2 用指數(shù)表示,等于3.14 * 10 2。
十六進(jìn)制:
十六進(jìn)制浮點(diǎn)數(shù)必須具有一個(gè)由大寫或小寫p表示的指數(shù)。對(duì)于具有exp指數(shù)的十六進(jìn)制數(shù),基數(shù)乘以2 exp:
示例10:如何在Swift中使用十六進(jìn)制字面量?
let someFloat = 0xFp10 let someAnotherFloat = 0xFp-12 print(someFloat) print(someAnotherFloat)
運(yùn)行該程序時(shí),輸出為:
15360.0 0.003662109375
在上面的程序中0xFp10,0xFp-12 是浮點(diǎn)字面量。0xFp10用指數(shù)表示,相當(dāng)于15 * 210(F表示為十進(jìn)制的15)。因此,print(someFloat)在屏幕上輸出15360.0。
同樣,0xFp-12 相當(dāng)于 15 * 2-12。因此,print(someAnotherFloat)在屏幕上輸出0.003662109375。
swift中有兩個(gè)布爾字面值。他們分別是 true 和 false.。
示例11:如何在Swift中使用布爾字面量?
let result:Bool = false
在上面的程序中,false 是一個(gè)布爾常量,它被分配給常量result。
選擇一個(gè)有意義的名稱。例如,var name 比 var n 更有意義。
使用camelCase 表示法聲明變量或常量。駝峰表示法是以小寫字母開頭。例如:
var studentName let studentAge let address
您也可以定義變量和常量而無需對(duì)其進(jìn)行標(biāo)記。 不使用名稱標(biāo)記意味著您將不在程序中使用它。 在許多情況下,您想創(chuàng)建一個(gè)未使用的變量。 在這種情況下,您可以將_占位符用作:
var _ = "Apple.com" //字符串已初始化,但未存儲(chǔ)在變量中 let _ = "Apple.com"
甚至這也是有效的
_ = "Apple.com"
如果只需要設(shè)置一次值,而無需在程序中再次更改它,則使用常量。但是,如果以后需要更改它,請(qǐng)使用變量。
常量和變量名不能包含空格字符、數(shù)學(xué)符號(hào)、箭頭、私用(或無效) Unicode 代碼點(diǎn)或線條和框圖字符。它們也不能以數(shù)字開頭,盡管數(shù)字可能包含在名稱的其他地方。
var 12 = "Apple.com" //gives a compile error: expected pattern var @hello = “Hello” //gives a compile error: expected pattern