嗨,大家好,我是 Lacie,您現在收看的是 Swift - 來吧!鐵人三十項 系列的第二二篇
在鐵人賽完結後,為保持持續做筆記的習慣
將會在我的 Medium 繼續撰寫文章,若有興趣者可前往觀看。
今天要來學習的東西是集合類型的最後一個 - Set
我也從來沒用過這個東西,故來嘗試看看它有什麼樣的特性及用法
由於 Set 的篇幅可能沒那麼多,故後面會開始學習 Closure
Set is an unordered collection of unique values.
Set 以沒有排序的方式來儲存相同型別的值,且每個值不能重複
換句話說就是,想要確保你的值是絕對不會重複的,或者排序對你的值來說是不重要的,用 Set 就對了
創建一個 Set 和其他兩個集合類型有點不一樣(雖然其他兩個也是可以這樣創):
在 Set 裡放一些初始值測試看看(重複的值不會跑出來):
想要確認 Set 裡是不是有這個值了,可以這樣做:
加入新的值可以使用 insert(由於沒有排序,所以不用指定位置):
想要除掉 Set 裡的值,可以使用 remove:
兩個 Set 之間如果有相同的值,可以使用 intersection 來找出它們並存進一個新的 Set:
相反的,也可以找出它們兩個都沒有共通的值並存進一個新的 Set:
把兩個 Set 有的值通通放進來並存進一個新的 Set(重複的依然只會有一個):
把 Set2 有的值通通塞進 Set1 裡(Set2 不會改變):
之前在使用閉包時,最常用的是 Alert 裡頭按下 Button 後要執行的事情
只知道我把程式碼放在 handler: {} 裡頭後,它會幫我做事
但 Closure 好像有非常多種不一樣的用法,故藉這次機會,來好好補補基礎
Closure 就像沒有名字的 function,由於以前篇章學習過如何創建一個乘法的 function,今天來嘗試使用 Closure 實現乘法
可以帶入參數的 Closure(in 後面為 Closure 要執行的程式碼):
如果前面已經定義了,後面也可以不需要寫參數型別及回傳型別,它會自動推論:
如果程式碼只有一行,也可以不用寫 return:
如果你覺得命名參數麻煩,也可以把它刪掉(包含 in),使用 $0、$1 來代替:
然後,我們下集見。