鍍金池/ 教程/ iOS/ 基礎部分(The Basics)
特性(Attributes)
Access Control 權限控制的黑與白
基本運算符(Basic Operators)
基礎部分(The Basics)
閉包(Closures)
擴展
泛型參數(shù)(Generic Parameters and Arguments)
訪問控制和 protected
語句(Statements)
模式(Patterns)
WWDC 里面的那個“大炮打氣球”
關于語言參考(About the Language Reference)
語法總結(Summary of the Grammar)
嵌套類型
類型(Types)
Swift 初見(A Swift Tour)
泛型
枚舉(Enumerations)
高級運算符
繼承
析構過程
關于 Swift(About Swift)
訪問控制
類和結構體
內(nèi)存安全
Swift 與 C 語言指針友好合作
協(xié)議
屬性(Properties)
可選類型完美解決占位問題
錯誤處理
字符串和字符(Strings and Characters)
聲明(Declarations)
自動引用計數(shù)
Swift 里的值類型與引用類型
表達式(Expressions)
Swift 文檔修訂歷史
造個類型不是夢-白話 Swift 類型創(chuàng)建
歡迎使用 Swift
詞法結構(Lexical Structure)
集合類型(Collection Types)
下標
方法(Methods)
可選鏈式調(diào)用
版本兼容性
類型轉換
構造過程
The Swift Programming Language 中文版
函數(shù)(Functions)
Swift 教程
控制流(Control Flow)

基礎部分(The Basics)


1.0 翻譯:numbbbbb, lyuka, JaySurplus 校對:lslxdx

2.0 翻譯+校對:xtymichael

2.1 翻譯:Prayer 校對:shanks,overtrue

2.2 校對:SketchK

3.0 校對:CMB,版本時間2016-09-13

3.0.1, 2016-11-11,shanks

4.0 校對:kemchenj

4.1 翻譯+校對:mylittleswift

本頁包含內(nèi)容:

Swift 是一門開發(fā) iOS, macOS, watchOS 和 tvOS 應用的新語言。然而,如果你有 C 或者 Objective-C 開發(fā)經(jīng)驗的話,你會發(fā)現(xiàn) Swift 的很多內(nèi)容都是你熟悉的。

Swift 包含了 C 和 Objective-C 上所有基礎數(shù)據(jù)類型,Int 表示整型值; DoubleFloat 表示浮點型值; Bool 是布爾型值;String 是文本型數(shù)據(jù)。 Swift 還提供了三個基本的集合類型,Array、SetDictionary ,詳見集合類型。

就像 C 語言一樣,Swift 使用變量來進行存儲并通過變量名來關聯(lián)值。在 Swift 中,廣泛的使用著值不可變的變量,它們就是常量,而且比 C 語言的常量更強大。在 Swift 中,如果你要處理的值不需要改變,那使用常量可以讓你的代碼更加安全并且更清晰地表達你的意圖。

除了我們熟悉的類型,Swift 還增加了 Objective-C 中沒有的高階數(shù)據(jù)類型比如元組(Tuple)。元組可以讓你創(chuàng)建或者傳遞一組數(shù)據(jù),比如作為函數(shù)的返回值時,你可以用一個元組可以返回多個值。

Swift 還增加了可選(Optional)類型,用于處理值缺失的情況??蛇x表示 “那兒有一個值,并且它等于 x ” 或者 “那兒沒有值” ??蛇x有點像在 Objective-C 中使用 nil ,但是它可以用在任何類型上,不僅僅是類??蛇x類型比 Objective-C 中的 nil 指針更加安全也更具表現(xiàn)力,它是 Swift 許多強大特性的重要組成部分。

Swift 是一門類型安全的語言,這意味著 Swift 可以讓你清楚地知道值的類型。如果你的代碼需要一個 String ,類型安全會阻止你不小心傳入一個 Int 。同樣的,如果你的代碼需要一個 String,類型安全會阻止你意外傳入一個可選的 String 。類型安全可以幫助你在開發(fā)階段盡早發(fā)現(xiàn)并修正錯誤。

常量和變量

常量和變量把一個名字(比如 maximumNumberOfLoginAttempts 或者 welcomeMessage )和一個指定類型的值(比如數(shù)字 10 或者字符串 "Hello" )關聯(lián)起來。常量的值一旦設定就不能改變,而變量的值可以隨意更改。

聲明常量和變量

常量和變量必須在使用前聲明,用 let 來聲明常量,用 var 來聲明變量。下面的例子展示了如何用常量和變量來記錄用戶嘗試登錄的次數(shù):

let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0

這兩行代碼可以被理解為:

“聲明一個名字是 maximumNumberOfLoginAttempts 的新常量,并給它一個值 10 。然后,聲明一個名字是 currentLoginAttempt 的變量并將它的值初始化為 0 。”

在這個例子中,允許的最大嘗試登錄次數(shù)被聲明為一個常量,因為這個值不會改變。當前嘗試登錄次數(shù)被聲明為一個變量,因為每次嘗試登錄失敗的時候都需要增加這個值。

你可以在一行中聲明多個常量或者多個變量,用逗號隔開:

var x = 0.0, y = 0.0, z = 0.0

注意

如果你的代碼中有不需要改變的值,請使用 let 關鍵字將它聲明為常量。只將需要改變的值聲明為變量。

類型標注

當你聲明常量或者變量的時候可以加上類型標注(type annotation),說明常量或者變量中要存儲的值的類型。如果要添加類型標注,需要在常量或者變量名后面加上一個冒號和空格,然后加上類型名稱。

這個例子給 welcomeMessage 變量添加了類型標注,表示這個變量可以存儲 String 類型的值:

var welcomeMessage: String

聲明中的冒號代表著“是...類型”,所以這行代碼可以被理解為:

“聲明一個類型為 String ,名字為 welcomeMessage 的變量。”

“類型為 String ”的意思是“可以存儲任意 String 類型的值。”

welcomeMessage 變量現(xiàn)在可以被設置成任意字符串:

welcomeMessage = "Hello"

你可以在一行中定義多個同樣類型的變量,用逗號分割,并在最后一個變量名之后添加類型標注:

var red, green, blue: Double

注意

一般來說你很少需要寫類型標注。如果你在聲明常量或者變量的時候賦了一個初始值,Swift 可以推斷出這個常量或者變量的類型,請參考類型安全和類型推斷。在上面的例子中,沒有給 welcomeMessage 賦初始值,所以變量 welcomeMessage 的類型是通過一個類型標注指定的,而不是通過初始值推斷的。

常量和變量的命名

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

let π = 3.14159
let 你好 = "你好世界"
let
上一篇:Swift 教程下一篇:屬性(Properties)