函數(shù)的格式:func 函數(shù)名(參數(shù)變量:類型, 參數(shù)變量: 類型...) ->返回類型{case; retrun 結(jié)果}
轉(zhuǎn)化為浮點型的函數(shù):Double()
參數(shù)類型為輸入輸出參數(shù)的代碼:inout
函數(shù)的嵌套實例:
? ? ? ? ?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
? ? ? ? }
函數(shù)的遞歸用法實例:
? ? ? ? func recursion(n: Int) -> Int {
? ? ? ? ? ? if n < 1 {
? ? ? ? ? ? return 1
? ? ? ? ? ? }else{
? ? ? ? ? ? return recursion(n: n-1) + recursion(n: n-2)
? ? ? ? ? ? ?}
? ? ? ? }
? ? ? ? print(recursion(n: 5) ?//輸出結(jié)果:8
絕對值函數(shù):abs()
最小值函數(shù):min()
查找在數(shù)組元素中滿足指定條件的元素的函數(shù):.filter({條件})
將數(shù)組元素中每一個元素通過指定方法進(jìn)行轉(zhuǎn)換的函數(shù):map({條件})
reduce函數(shù)實例:
? ? ? ? var result = (1...4).reduce(0, combine: +)
? ? ? ? print(result)
? ? ? ? result = (1...4).reduce(0, combine: *)
? ? ? ? print(result)
有些變量只有幾種取值的選擇稱為枚舉的代碼:enum 枚舉名稱 {}
枚舉值的遍歷使用的函數(shù):swith
結(jié)構(gòu)體的代碼:struct 結(jié)構(gòu)名稱 {}
類的代碼:class 類名稱 {}
類的初始化的代碼:init(){}
類的設(shè)置與獲取的代碼:set(){}、get(){}
類的屬性觀察者的代碼:willSet{}、didSet{}
結(jié)構(gòu)體和枚舉定義靜態(tài)方法的關(guān)鍵字:static
類定義靜態(tài)方法的關(guān)鍵字:class
類的靜態(tài)方法省去了對類進(jìn)行胁澳?:實例化的步驟
Swift和Objective-C一樣通過?實現(xiàn)對實例的內(nèi)存管理:自動引用計數(shù)(ARC)技術(shù)
類的繼承中子類重寫方法的關(guān)鍵字:override
父類的屬性吁系、下標(biāo)或方法不希望被重寫的關(guān)鍵字:final
類的延遲加載屬性的關(guān)鍵字:lazy
延遲加載的意義:當(dāng)一個類擁有一個重度且不經(jīng)常使用的屬性時,比如該屬性是一個復(fù)雜的類白魂,或者屬性在初始化時需要從本地或網(wǎng)絡(luò)加載所需的資源汽纤。此時在屬性聲明前使用lazy關(guān)鍵字,可將該屬性標(biāo)示為延遲加載的屬性福荸,只有在使用到該屬性時蕴坪,才會被加載,從而提高程序的運(yùn)行效率敬锐。
Swift環(huán)境中背传,元組、枚舉台夺、結(jié)構(gòu)體術(shù)語径玖??颤介,而類屬于梳星??:值屬性买窟;引用屬性(實例化賦值)
類型檢查_判斷類型的關(guān)鍵字:is
類型檢查_轉(zhuǎn)換為對應(yīng)的類型的關(guān)鍵澤:if-let 和 as語句
Swift的不確定的類型:AnyObject (anythings) 和 Any
擴(kuò)展類型的關(guān)鍵字:extension
擴(kuò)展功能的意義:動態(tài)地給類增加功能
協(xié)議的關(guān)鍵字:protocol
可選性O(shè)ptional類型的可以為空的關(guān)鍵字:丰泊?
可選性O(shè)ptional類型的不可以為空的關(guān)鍵字:薯定!