翻譯能力有限,如有不對(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)")