函數的格式:func 函數名(參數變量:類型, 參數變量: 類型...) ->返回類型{case; retrun 結果}
轉化為浮點型的函數:Double()
參數類型為輸入輸出參數的代碼:inout
函數的嵌套實例:
? ? ? ? ?func chooseNumber(needBigger: Bool, number1: number2: Int){
? ? ? ? ? ? func get smaller(){
? ? ? ? ? ? print((number1 < number2)? number1: number2)
? ? ? ? ? ? }
? ? ? ? ? ? ?func get getBigger(){
? ? ? ? ? ? print((number1 > number2)? number1: number2)
? ? ? ? ? ? }
? ? ? ? ? ? needBigger ? getBigger: getSmaller
? ? ? ? }
函數的遞歸用法實例:
? ? ? ? func recursion(n: Int) -> Int {
? ? ? ? ? ? if n < 1 {
? ? ? ? ? ? return 1
? ? ? ? ? ? }else{
? ? ? ? ? ? return recursion(n: n-1) + recursion(n: n-2)
? ? ? ? ? ? ?}
? ? ? ? }
? ? ? ? print(recursion(n: 5) ?//輸出結果:8
絕對值函數:abs()
最小值函數:min()
查找在數組元素中滿足指定條件的元素的函數:.filter({條件})
將數組元素中每一個元素通過指定方法進行轉換的函數:map({條件})
reduce函數實例:
? ? ? ? var result = (1...4).reduce(0, combine: +)
? ? ? ? print(result)
? ? ? ? result = (1...4).reduce(0, combine: *)
? ? ? ? print(result)
有些變量只有幾種取值的選擇稱為枚舉的代碼:enum 枚舉名稱 {}
枚舉值的遍歷使用的函數:swith
結構體的代碼:struct 結構名稱 {}
類的代碼:class 類名稱 {}
類的初始化的代碼:init(){}
類的設置與獲取的代碼:set(){}、get(){}
類的屬性觀察者的代碼:willSet{}、didSet{}
結構體和枚舉定義靜態方法的關鍵字:static
類定義靜態方法的關鍵字:class
類的靜態方法省去了對類進行?:實例化的步驟
Swift和Objective-C一樣通過?實現對實例的內存管理:自動引用計數(ARC)技術
類的繼承中子類重寫方法的關鍵字:override
父類的屬性、下標或方法不希望被重寫的關鍵字:final
類的延遲加載屬性的關鍵字:lazy
延遲加載的意義:當一個類擁有一個重度且不經常使用的屬性時,比如該屬性是一個復雜的類,或者屬性在初始化時需要從本地或網絡加載所需的資源。此時在屬性聲明前使用lazy關鍵字,可將該屬性標示為延遲加載的屬性,只有在使用到該屬性時,才會被加載,從而提高程序的運行效率。
Swift環境中,元組、枚舉、結構體術語??,而類屬于??:值屬性;引用屬性(實例化賦值)
類型檢查_判斷類型的關鍵字:is
類型檢查_轉換為對應的類型的關鍵澤:if-let 和 as語句
Swift的不確定的類型:AnyObject (anythings) 和 Any
擴展類型的關鍵字:extension
擴展功能的意義:動態地給類增加功能
協議的關鍵字:protocol
可選性Optional類型的可以為空的關鍵字:?
可選性Optional類型的不可以為空的關鍵字:!