Where's my API ?
基礎部分
Swift 是 iOS 和 OS X 應用開發的一門新語言。然而,如果你有 C 或者 Objective-C 開發經驗的話,你會發現 Swift 的很多內容都是你熟悉的。
Swift 的型別是在 C 和 Objective-C 的基礎上提出的,Int
是整型;Double
和Float
是浮點型;Bool
是布林型;String
是字串。Swift 還有兩個有用的集合型別,Array
和Dictionary
,詳情參見集合型別(待新增連結)
。
就像 C 語言一樣,Swift 使用變數來進行儲存並通過變數名來關聯值。在 Swift 中,值不可變的變數有著廣泛的應用,它們就是常量,而且比 C 語言的常量更強大。在 Swift 中,如果你要處理的值不需要改變,那使用常量可以讓你的程式碼更加安全並且更好地表達你的意圖。
除了我們熟悉的型別,Swift 還增加了 Objective-C 中沒有的型別比如元組(Tuple)。元組可以讓你建立或者傳遞一組資料,比如作為函式的返回值時,你可以用一個元組可以返回多個值。
Swift 還增加了可選(Optional)型別,用於處理值缺失的情況。可選表示“那兒有一個值,並且它等於 x ”或者“那兒沒有值”。可選有點像在 Objective-C 中使用nil
,但是它可以用在任何型別上,不僅僅是類。可選型別比 Objective-C 中的nil
指標更加安全也更具表現力,它是 Swift 許多強大特性的重要組成部分。
Swift 是一個型別安全的語言,可選就是一個很好的例子。Swift 可以讓你清楚地知道值的型別。如果你的程式碼期望得到一個String
Int
。你可以在開發階段儘早發現並修正錯誤。
常量和變數
常量和變數把一個名字(比如maximumNumberOfLoginAttempts
或者welcomeMessage
)和一個指定型別的值(比如數字10
或者字串Hello
)關聯起來。常量的值一旦設定就不能改變,而變數的值可以隨意更改。
宣告常量和變數
常量和變數必須在使用前宣告,用let
來宣告常量,用var
來宣告變數。下面的例子展示瞭如何用常量和變數來記錄使用者嘗試登入的次數:
let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0
這兩行程式碼可以被理解為 : “宣告一個名字是maximumNumberOfLoginAttempts
10
。然後,宣告一個名字是currentLoginAttempt
的變數並將它的值初始化為0.”
在這個例子中,允許的最大嘗試登入次數被宣告為一個常量,因為這個值不會改變。當前嘗試登入次數被宣告為一個變數,因為每次嘗試登入失敗的時候都需要增加這個值。
你可以在一行中宣告多個常量或者多個變數,用逗號隔開:
var x = 0.0, y = 0.0, z = 0.0
注意:如果你的程式碼中有不需要改變的值,請將它宣告為常量。只將需要改變的值宣告為變數。
型別標註
當你宣告常量或者變數的時候可以加上型別標註,說明常量或者變數中要儲存的值的型別。如果要新增型別標註,在常量或者變數名後面加上一個冒號和空格,然後加上型別名稱。
這個例子給welcomeMessage
變數添加了型別標註,表示這個變數可以儲存String
型別的值:
var welcomeMessage: String
宣告中的冒號代表著“是...型別”,所以這行程式碼可以被理解為::
“宣告一個型別為String
,名字為welcomeMessage
的變數。”
“型別為String
”的意思是“可以儲存任意String
型別的值。”
welcomeMessage
變數現在可以被設定成任意字串:
welcomeMessage = "Hello"
注意:一般來說你很少需要寫型別標註。如果你在宣告常量或者變數的時候賦了一個初始值,Swift可以推斷出這個常量或者變數的型別,詳情參見
型別安全和型別推斷(待新增連結)
。在上面的例子中,沒有給welcomeMessage
賦初始值,所以添加了一個型別標註。
常量和變數的命名
你可以用任何你喜歡的字元作為常量和變數名,包括Unicode字元:
let π = 3.14159
let 你好 = "你好世界"
let