Swift語言的基礎詳解
1.1.關于swift
· Swift 是一種适用于 iOS 和 OS X 應用的全新程式設計語言,它建立在最好的 C 和 Objective-C 語言之上,并且沒有 C 語言的相容性限制。Swift 采用安全的程式設計模式,增加了現代功能使 程式設計更容易、更靈活、更有趣。Swift 以成熟且備受寵愛的 Cocoa 和 Cocoa Touch 架構為 支撐,這是一個重新構想軟體開發的機會。
· 支援Playground,它允許程式實時預覽,無需頻繁建立和運作APP
· 簡潔, 安全, 容易, 靈活, 高效
1.2.swift初見
通常來說,程式設計語言教程中的第一個程式應該在螢幕上列印“Hello, world”。在 Swift 中,可 以用一行代碼實作:
1. println("hello,world")
注意:為了獲得最好的體驗,在 Xcode 當中使用代碼預覽功能。代碼預覽功能可以讓你編輯代碼并實時看到運作結果。
· 單行注釋
// 單行注釋
· 多行注釋
/*
// 單行注釋
/* 多行注釋,需要注意的是,多行注釋可以嵌套,這點和其他語言不一樣,很實用的一個功能 */
*/
· 分号
· 單個語句後面無需加分号,加了也行
· 多個語句放在一行,需要加分号
1.3.變量與常量
· 變量
· 使用var聲明變量(值可以根據需要不斷修改的量稱為變量)
· 常量
· 使用let聲明變量(值不能夠被二次修改的量稱為常量)
· 類型推導
· 編譯器在編譯的時候,通過提供的初始化值,自動推導出 特定的表達式的類型
· 注意
· 變量多次指派的時候需要保證值的類型是相同的
· 顯示聲明類型,文法:"變量:類型"
· swift不會自動給變量賦初始化值,也就是說變量不會有預設值,是以要求在使用變量之前必須要對其初始化
· swift不支援隐士類型轉換,需要顯示類型
· 使用typealias關鍵字定義類型别名,類似typedef
· 字元串格式化,使用 \(item)
1.4.命名規則
· swift中可以使用幾乎任何字元來常量和變量名,包括Unicode。但是不能含有數字元号,箭頭,無效的Unicode,橫線—,制表符,
且不能以數字開頭
1.5.整型表現形式
· 二進制數,字首為 0b
· 八進制數,字首為 0o
· 十六進制數,字首為 0x
2.1.數組與字典
· 使用 [ ] 操作符聲明數組
· 使用 [ key : value ]操作符聲明字典
2.1.1.數組的用法

2.1.2.數組的增加、修改與删除元素的值用法
2.1.3.數組的周遊
2.1.4.聲明數組的方法
2.1.5.字典的聲明與輸出
2.1.6.字典的添加、修改、删除方法
2.1.7.輸出字典的個數count
2.1.8.字典的周遊方法
3.1.元祖
元組(tuples)把多個值組合成一個複合值。元組内的值可以使任意類型,并不要求是相 同類型。
例子: 1. let http404Error = (404, "Not Found")
2. // http404Error 的類型是 (Int, String),值是 (404, "Not Found")
你可以把任意順序的類型組合成一個元組,這個元組可以包含所有類型。隻要你想,你可 以建立一個類型為(Int, Int, Int)或者(String, Bool)
或者其他任何你想要的組合的元組。
你可以将一個元組的内容分解(decompose)成單獨的常量和變量,然後你就可以正常使 用它們了:
1. let (statusCode, statusMessage) = http404Error
2. println("The status code is \(statusCode)")
3. // 輸出 "The status code is 404"
4. println("The status message is \(statusMessage)")
5. // 輸出 "The status message is Not Found"
如果你隻需要一部分元組值,分解的時候可以把要忽略的部分用下劃線(_)标記:
1. let (justTheStatusCode, _) = http404Error
2. println("The status code is \(justTheStatusCode)")
3. // 輸出 "The status code is 404"
此外,你還可以通過下标來通路元組中的單個元素,下标從零開始:
1. println("The status code is \(http404Error.0)")
2. // 輸出 "The status code is 404"
3. println("The status message is \(http404Error.1)")
4. // 輸出 "The status message is Not Found"
你可以在定義元組的時候給單個元素命名:
let http200Status = (statusCode: 200, description: )
給元組中的元素命名後,你可以通過名字來擷取這些元素的值:
1. println("The status code is \(http200Status.statusCode)")
2. // 輸出 "The status code is 200"
3. println("The status message is \(http200Status.description)")
4. // 輸出 "The status message is OK"
注意:元組在臨時組織值的時候很有用,但是并不适合建立複雜的資料結構。如果你的數 據結構并不是臨時使用,
請使用類或者結構體而不是元組。請參考類和結構體。
4.1. 可選類型
4.1.1.nil的詳解
4.1.2.總結 ?的使用場景
· 聲明Optional變量
· 用在Optional值操作中,用來判斷是否響應後面的操作
5.1.解包
5.1.1隐式解包的可選類型
隐式解包的可選類型例子:
6.1.Swift基本運算符
6.1.1.指派運算符
6.1.2.數學運算符
6.1.3.比較運算符
6.1.4.三目運算符
6.1.5.範圍運算符
6.1.6.邏輯運算符
7.1.字元與字元串
7.1.1.初始化空的字元串
7.1.2.變長字元串
7.1.3.字元計數
7.1.4.組合字元串與字元
7.1.5.字元串格式化
7.1.6.字元串比較
7.1.7.字元串大小寫
7.1.8.字元串編碼
8.1.流程控制
9.1.條件語句
9.1.2.區間範圍比對(Range Matching)
10.1.函數與閉包
主要内容: ·函數的定義與調用 ·函數參數與傳回值 ·函數參數名稱 ·函數類型
·函數嵌套 ·閉包表達式 ·尾随閉包 ·值捕獲
10.1.2.函數
C語言函數指針的寫法
OC語言的Block寫法
·注意:swift語言調用C函數、OC函數時需引入下面的檔案
10.1.3.閉包
閉包的總結
哈哈