注:由于基礎部分在Swift Tour 中已經大體的說明了,是以在詳解中不會達到100%的原文釋義
Constants and Variables 常量和變量
常量和變量都需要聲明名稱和類型(作為程式員,這些基礎也就不說了),常量一次指派不能改變,變量的值可以改變
Declaring Constants and Variables 聲明常量和變量
常量和變量在使用之前必須要聲明,使用let關鍵字定義常量,var關鍵字定義變量
下面的例子可以用來定義使用者登入的時候最大的嘗試次數:
let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0
可以在一行定義多個變量或者常量,用逗号隔開:
var x = 0.0, y = 0.0, z = 0.0
Type Annotations 類型标志
類型标志(類型注釋)可以标記你定義的變量或者常量允許存儲的類型,在變量/常量的名稱後面放置一個冒号,然後留一個空格,然後寫上類型的名稱
var welcomeMessage: String
這個變量就可以存儲String類型了
welcomeMessage = "Hello"
在實際編碼過程中,你幾乎不需要給變量/常量類型标志,因為當你第一次指派的時候,Swift已經知道了變量的類型,如果聲明變量的時候沒有指派,那Swift才通過類型标志識别變量的類型
Naming Constants and Variables 命名變量和常量
你可以使用任意你喜歡的字元命名變量和常量,包括Unicode編碼:
let π = 3.14159
let 你好 = "你好世界"
你妹的,白打了那麼多了,因為粘貼一個表情,後面寫的都沒有了,好桑心啊
在Swift中,對于常量和變量的名稱定義寬泛了許多
常量和變量命名的時候不能包含數學符号、箭頭、私人定義的Unicode字元,或者用點和橫線拼接的字元,也不允許以數字開頭,但是數字可以在名稱中的其他地方
一旦你用一種确定的類型定義了一個常量或者變量,你就不能用同樣的變量名定義其他變量了,也不允許改變變量/常量的類型,變量也不可以轉換成常量,常量也不可以轉換成變量
如果你想使用Swift關鍵字作為變量名稱,那麼小夥伴隻能對你說(no zuo no die why you try),既然你這麼堅持用的話,Swift也提供了你使用的方法,使用括号把變量名稱括起來,像這樣(`)
改變變量的值:
var friendlyWelcome = "Hello!"
friendlyWelcome = "Bonjour!"
// friendlyWelcome is now "Bonjour!"
常量的值不能改變,改變會報編譯錯誤:
let languageName = "Swift"
languageName = "Swift++"
// this is a compile-time error - languageName cannot be changed
Printing Constants and Variables 列印常量和變量
可以使用println進行列印:
println(friendlyWelcome)
// prints "Bonjour!
之前用過OC的都知道啦,和NSLog一個功能,C,C++裡面也有啊,而且還可以帶參數的。
println和print的差別就是:都是用來控制台列印的,println列印之後換行,print列印之後不換行
也可以列印一個字元串:
println("This is a string")
// prints "This is a string
還有一種方法可以将變量或者常量放到字元串中,将變量放入括号()中,在前面加上反斜杠 \ ,如 \(變量.常量)
println("The current value of friendlyWelcome is \(friendlyWelcome)")
// prints "The current value of friendlyWelcome is Bonjour!
Comments 注釋
單行注釋
// this is a comment
多行注釋
/* this is also a comment,
but written over multiple lines */
嵌套注釋:
/* this is the start of the first multiline comment
/* this is the second, nested multiline comment */
this is the end of the first multiline comment */
嵌套注釋的功能就是可以一次性注釋一大段的代碼,而且不用管這段代碼中間的其他注釋
Semicolons 分号
Swift代碼可以不寫分号,每一行是一個語句,當然寫了也可以,如果一行要放兩個語句,就用分号隔開
let cat = "cats"; println(cat)
// prints "cats"