tags: swift 學習筆記
類、結構體和列舉都可以定義方法,而oc中只有類可以這樣做。
方法分為:例項方法和型別方法。前者屬於型別的乙個例項,後者屬於型別。
語法和函式一樣。
預設情況下,swift方法的第乙個引數名之作為本地名字使用,但是後面的引數名同時作為內部和外部引數名使用。
沒必要在給第乙個引數定義外部引數名稱,因為第乙個引數的意義很清楚了。在方法呼叫的時候,從第二個引數開始,就需要制定引數的外部名稱了。
這樣的要求和oc中一致。
指定外部引數名
使用「#」字首標記內部名;指定乙個外部引數名
不指定外部引數名
使用「_」放置在內部引數名之前
指代例項自身。
在方法內,多數情況下self不必寫。
方法的引數名和例項的屬性名相同,這時不得不用self區分二者,不寫self都會被當作引數處理。
注意:不是修改型別屬性
結構體和列舉是值型別的。預設情況下,值型別的屬性無法通過它的例項方法進行修改。
用「mutating」 標記方法,稱為變異方法。
變異方法可以在方法內可以修改屬性,而且任何做過的修改在方法結束後會寫回到原始的結構中。變異方法也可以分配乙個新的例項給它隱含的self,當方法結束,新的例項將會替代原來已經存在的。
用「static」標記型別方法,對於類中允許子類複寫的型別方法,用「class」關鍵字標記。
型別方法中的selft指代型別,而不是例項。
同樣型別方法中的引用,預設為型別本身的屬性和方法。
要理解結構體和列舉的型別 和例項的區別。
Java學習筆記(10) 方法
方法 什麼是方法 乙個演算法邏輯功能的封裝,是一般完成乙個業務功能,如 登陸系統,建立聯絡人,簡單說 方法是動作,是動詞。方法名 一般按照方法實現的功能定名,一般使用動詞定義,如 login createcontact createanswer 方法引數 是方法的前提條件,是方法執行依據,是資料,如...
swift 學習 12 方法
方法 是與某些特定型別相關的函式.類,結構體,列舉 都可以定義例項方法,例項方法為給型別的例項封裝了具體的任務與功能.類,結構體,列舉 也可以定義型別方法,型別方法與型別本身相關聯,型別方法與 oc 中的 類方法 類似 結構體和列舉 能夠定義方法 是 swift 與 c語言 和 oc 的主要區別之一...
Go學習 10 方法
go 語言中同時有函式和方法。乙個方法就是乙個包含了接受者的函式,接受者可以是命名型別或者結構體型別的乙個值或者是乙個指標。所有給定型別的方法屬於該型別的方法集 方法只是乙個函式,它帶有乙個特殊的接收器型別,它是在func關鍵字和方法名之間編寫的。接收器可以是struct型別或非struct型別。接...