【Swift4.0】常量和變量

翻譯能力有限,如有不對(duì)的地方,還請(qǐng)見諒!希望對(duì)Swift的學(xué)習(xí)者有所幫助,使用的編寫工具:JQNote? ??InNote(iPhone)

常量和變量關(guān)聯(lián)一個(gè)名稱(比如:maximumNumberOfLoginAttempts 和 welcomeMessage)和一個(gè)特殊類型的值(比如:數(shù)字10和字符串“Hello”)。一個(gè)常量一旦被賦值后就不能再改變,一個(gè)變量可以再次被賦予不同的值。

聲明常量和變量

常量和變量在使用前必須要聲明。你可以使用關(guān)鍵字let來(lái)聲明一個(gè)常量,使用關(guān)鍵字var來(lái)聲明一個(gè)變量。下面是一個(gè)如何聲明變量和常量的例子:

letmaximumNumberOfLoginAttempts= 10

varcurrentLoginAttempt= 0

這段代碼表示:“聲明了一個(gè)新的常量maximumNumberOfLoginAttempts,并且給它賦值10. 然后聲明了一個(gè)新的變量currentLoginAttempt,并且設(shè)置了一個(gè)初始化的值0.” 在這個(gè)例子中,最大的登錄次數(shù)被聲明為一個(gè)常量,因?yàn)樽畲笾挡粫?huì)再改變。當(dāng)前登錄的次數(shù)被聲明為一個(gè)變量,是因?yàn)檫@個(gè)值在每次嘗試登錄失敗后必須增加。你可以在一行聲明多個(gè)變量或者常量,用逗號(hào)隔開:

varx=0.0,y=0.0,z=0.0

【注意】如果代碼中一個(gè)存儲(chǔ)值不會(huì)發(fā)生改變,那么總是使用關(guān)鍵字let聲明它為常量,如果存儲(chǔ)值需要被改變,那么就使用變量。

類型注釋

當(dāng)你聲明一個(gè)常量或者變量時(shí),為了該常量或者變量可以存儲(chǔ)值的類型更清晰明確,你可以這樣添加一個(gè)類型注釋:在變量或者常量名稱后添加一個(gè)冒號(hào),空格,然后再加上類型名稱。下面的例子為一個(gè)變量welcomeMessage提供了一個(gè)類型注釋,表示該變量可以存儲(chǔ)String類型的值:

varwelcomeMessage:String

這段代碼表示:“聲明了一個(gè)String類型的變量welcomeMessage”,這意味著“可以存儲(chǔ)任何String類型的值”??梢园阉醋魇强梢源鎯?chǔ)的“數(shù)據(jù)的類型”(或者“類似的數(shù)據(jù)類型”)?,F(xiàn)在變量welcomeMessage可以被設(shè)置任何字符串值:welcomeMessage=“Hello”。你可以在一行定義多個(gè)相同類型的變量,用逗號(hào)隔開,只在最后一個(gè)變量名稱后添加一個(gè)單獨(dú)的類型注釋:

varred,green,blue:Double

【注意】很少需要在實(shí)際中編寫類型注釋,如果你在定義一個(gè)常量或者變量的時(shí)候給它設(shè)置了初始化值,Swift總是會(huì)自動(dòng)推斷出該變量或常量的類型。在后續(xù)的類型安全和類型推斷中會(huì)有介紹。在上面的例子中,welcomeMessage沒有設(shè)置初始化值,因此它的類型就是特別聲明的類型注釋String,而不是根據(jù)初始化值推斷的類型。

命名常量和變量

常量和變量的名稱可以包含幾乎任何字符,包括Unicode字符:

letπ=3.14159

let你好="你好世界"

常量和變量名不能包含空格字符、數(shù)學(xué)符號(hào)、箭頭、私有(或無(wú)效)Unicode代碼,或者行-和畫的字符。也不能以數(shù)字開頭,盡管數(shù)字可能被包括在名字的其他地方。一旦你聲明了一個(gè)確定類型的常量或者變量,就不能再次使用相同的名稱來(lái)聲明它,或者存儲(chǔ)一個(gè)不同類型的值給它。也不能把一個(gè)常量變?yōu)闉樽兞?,或者把一個(gè)變量變?yōu)槌A俊?/p>

【注意】如果你使用了與Swift關(guān)鍵字一樣的名稱來(lái)命名一個(gè)常量或者變量,用引號(hào)(`)把該關(guān)鍵字括起來(lái)。然而,盡量避免這樣使用,除非你別無(wú)選擇。

打印常量和變量

你可以打印一個(gè)常量或者變量的值,通過(guò)print(_:separator:terminator:)方法:

print(friendlyWelcome)

print(_:separator:terminator:)是一個(gè)全局函數(shù),可以打印一個(gè)或多個(gè)值到合適的輸出端。例如,在Xode中,print(_:separator:terminator:)函數(shù)打印它的輸出到“console”面板中。separator和terminator參數(shù)有默認(rèn)值,因此調(diào)用的時(shí)候,可以忽略它們。缺省的,該函數(shù)通過(guò)添加換行符來(lái)終止一行的打印,如果沒有換行符,傳一個(gè)空字符串給terminator參數(shù),例如:print(someValue, terminator: “”)。

Swift使用字符串插值來(lái)包含一個(gè)變量或者常量名稱作為一個(gè)長(zhǎng)字符串中的占位符,提示swift用該常量或者變量的值來(lái)替換它。如下:

varfriendlyWelcome="Bonjour!"

print("The current value of friendlyWelcome is \(friendlyWelcome)")

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 4,202評(píng)論 1 10
  • 關(guān)于 Swift 重要這個(gè)文檔所包含的準(zhǔn)備信息, 是關(guān)于開發(fā)的 API 和技術(shù)的。這個(gè)信息可能會(huì)改變, 根據(jù)這個(gè)文...
    無(wú)灃閱讀 4,633評(píng)論 1 27
  • 86.復(fù)合 Cases 共享相同代碼塊的多個(gè)switch 分支 分支可以合并, 寫在分支后用逗號(hào)分開。如果任何模式...
    無(wú)灃閱讀 1,568評(píng)論 1 5
  • 吃過(guò)午飯,我坐在辦公室里面寫教案,帥帥走到我的身邊,耷拉著臉,氣沖沖地說(shuō):“李老師,咱們班的好幾個(gè)女生都說(shuō)喜歡我。...
    心若已止水閱讀 750評(píng)論 1 3
  • 昨日與一干老頭閑聊。 大家都進(jìn)入了一種工作模式:大量時(shí)間寫proposal。 也就是說(shuō)要先工作很長(zhǎng)時(shí)間去fight...
    SandmanLi閱讀 394評(píng)論 0 0

友情鏈接更多精彩內(nèi)容