swift 高階筆記 三 元型別

2021-06-22 13:06:04 字數 673 閱讀 2547

元型別

元型別是指所有的型別的型別,包括類,結構體,列舉和協議等。

類,結構體,列舉的元型別:型別名.type,比如:

class myclass

myclass的元型別是 myclass.type

協議的元型別:協議名.protocol, 比如:

protocol myprotocol

myprotocol的元型別是 myprotocol.protocol

雖然不能直接這樣用,但是我們會在報錯提示中看到這樣的字樣。

下面說個我們可以拿來用的:

self

這個關鍵字我們之前經常會用,但是它還有另外的意思,比如:

myclass.self  代表的是myclass這個類的定義,而不是它的例項。在playground裡可以看到 顯示的是metatype

同樣的,協議也可以:

myprotocol.self

例項中我們也可以獲取執行時的型別

printclassname是個類方法, someinstance是基類的型別,現在他是子類的引用,在呼叫了 printclassname的時候,可以清楚的顯示出,它呼叫的是子類的重寫方法,多麼明確的多型呼叫,贊!

mysql 三元 三元聯絡簡介

在資料庫設計中或者以後的軟考中會遇到乙個相對來說有點難度的題,那就是對於er圖中三元聯絡如何確定的問題,因此在這做乙個簡單的介紹 一 確定關係 三元聯絡無非就是四中情況而已 1 1 1 1 1 n 1 m n m n p 下面對這幾種情況分別作 在資料庫設計中或者以後的軟考中會遇到乙個相對來說有點難...

學習筆記 三元環

不常用的黑科技 三元環 好的證明複雜度是 對於度數大於根號的點,最多根號個。稱為大點。度數小於根號的點,稱為小點。對於小點,邊怎麼定向不關心。之後度數最多根號個 對於大點,和小點的邊一定是被小點指過來,只可能保留指向大點的出邊。之後度數最多根號個。複雜度本質是考慮每個點會被二次列舉多少次。也就是入邊...

三元運算,if判斷

三元運算子 x y 0 y y 在 和 之間的內容就是條件表示式,該語句的意思是 如果y小於0,那 麼x y 否則,x y 用if else可以這樣表達 if y 0 x y else x y 典型的例子是,把兩個值中的最大值賦給變數 max a b a b 如果a大於b,那麼將max設定為a 否則...