常量和變數將名稱(比如maximumnumberofloginattempts或者welcomemessage)和特定型別的值(比如數字10或者字串hello)關聯到一起。乙個常量的值一旦它被賦值就不能改變了,然而乙個變數之後可以被賦予不同的值。
這個**可以解讀為:「宣告乙個新的常量maximumnumberofloginattempts,並且給它賦值10.然後,宣告乙個新的變數currentloginattempt,並且給它乙個初始值0」
在這個例子中,允許嘗試登入的最大次數被宣告為乙個常量,因為最大值永遠不會改變。當前的嘗試登入數目被宣告為乙個變數,因為這個值在每次嘗試登入失敗之後增加。
你可以在一行中宣告多個常量或者變數,使用逗號隔開:
注意:如果在你的**中儲存乙個不會改變的值,總是使用關鍵字let把它宣告為乙個常量。儲存乙個可能會改變的值,請使用變數。
在你宣告常量或者變數的時候,可以提供乙個型別註解,來明確常量和變數能夠儲存何種型別的值。編寫乙個型別注釋將冒號放在常量名或變數名之後,隨後是乙個空格,緊隨其後的是使用型別名稱。
這個例子為乙個叫做welcomemessage的變數提供了乙個型別注釋,來指出這個變數能儲存字串。
在宣告處的冒號表示是什麼型別的,所以上面的**可以解讀為:「宣告乙個叫welcomemessage的字串型別的變數」。「of type string」的片語表示「能夠儲存任意字串值」。你可以把它理解為乙個容器,可以承裝任意型別的東西。
現在變數welcomemessage能夠被設定為任意的字串值而不會有錯誤的。
注意:在實踐中,很少會需要新增型別註解的。如果在定義常量或者變數時,提供初始值,swift幾乎總是能夠推斷出那個常量或變數所使用的型別,在「型別安全檢查和型別推斷」裡有詳細的描述。在上面的welcomemessage的例子中,沒有提供初始值,所以welcomemessage變數的型別是經過型別注釋d的,而不是從初始值推斷的。
你幾乎可以使用任何字元為常量和變數命名,包括unicode字元:
常量和變數名字中不能包含數學符號,箭頭,私人用的(或者無效的)unicode編碼,或者是類似於線條或者方塊似的字元。它們也不能以數字開頭,但是數字可以包含在名字的其餘部分中。
當你已經宣告了某種型別的常量或變數,你不能用同樣的名字再次宣告它,或者用它來儲存乙個不同型別的值。你也不能把乙個常量變為乙個變數,或者把乙個變數變為常量。
注意:如果你想使用swift保留的關鍵字作為常量或者變數的名字的話,你可以在關鍵字的兩端加上反勾號(`,鍵盤左上角的),這樣你就可以把它作為名字使用了。不過,你應該避免使用關鍵字來命名,除非你實在沒有選擇了。
你可以把另外乙個型別相容的值賦給乙個已存在的變數。在這個例子中,friendlywelcome的值從"hello"變為"bonjour!":
不像變數,乙個常量的值一旦被設定就不能改變。嘗試這樣做的話,編譯的時候,你的**會報告乙個錯誤:
你可以使用println函式來列印常量或變數的當前值:
全域性函式println將結果緊跟乙個換行符,列印到適合的輸出裝置上面。比如,你在使用xcode,println就會將結果列印在xcode的控制台面板當中。(另外乙個函式,print,執行同樣的任務。只不過沒有在列印結果上面加上換行符)。
println函式可以列印任何你傳遞給他的字串值:
println函式能夠列印更多複雜的日誌資訊,就像cocoa的nslog函式一樣。這些資訊可以包含常量和變數的當前值。
swift將常量或者變數作為佔位符插入到字串當中,之後就用那個常量或變數的當前值來替換它,這就是所謂的字串內嵌(string interpolation)。用圓括號包住名字並且在圓括號之前加上反斜 槓(\)。
注意:使用字元內嵌的相關描述都在「字元內嵌」當中。
第一節 簡單的值型別(變數和常量)
使用let來定義常量,使用var來定義變數。常量的值在編譯時不需要知道,但是你必須明確的給你賦一次值。這就意味著你使用常量給某個值命名,一旦賦值之後就可以到處使用了。常量或者變數必須與你要賦予的值具有相同的型別。然而,你不必每次都準確的宣告型別。在你建立常量或者變數的時候,提供乙個值,這樣編譯器就可...
第一節 8變數賦值
using system using system.collections.generic using system.linq using system.text 賦值運符 讓左邊變數的值等於右邊的計算結果,這就能解釋令人不解的i i 1 i2 i1 i2 i1 namespace 賦值運算 a 執...
第一節綜述
shader是什麼?shader是著色器。渲染流水線的概念?渲染流水線的工作任務在於由乙個三維場景出發,生成一張二維影象。渲染流程分為3個階段 應用階段 幾何階段 光柵化階段。1 應用階段 由cpu負責實現,由開發者主導。最重要的輸出是渲染所需的幾何資訊,即渲染圖元。這些渲染圖元傳遞給幾何階段。2 ...