Swift where關鍵字的使用

2021-08-11 10:09:51 字數 1672 閱讀 6347

在一些swift開源庫里經常能看到 where 關鍵字的使用,但是查詢開發文件的時候又找不到這個關鍵字。為了方便使用,這邊總結了一些where關鍵字的用法。

1、用在do catch裡面

enum

exceptionerror:error

func throwerror() throws

//do

catch

docatch exceptionerror.httpcode(let httpcode) where httpcode >= 500

2、用在switch裡面

//switch

varvalue:(int,string) = (1,"小明")

switch

value

3、for in

//

forin

let arrayone = [1,2,3,4,5]

let dictionary = [1:"hehe1",2:"hehe2"]

for i in arrayone where dictionary[i] != nil

4、與范型結合

//第一種寫法

func genericfunction(str:s) where s:expressiblebystringliteral

//第二種寫法

func genericfunction(str:s)

5、與協議結合

//protocol

protocol aprotocol{}

extension aprotocol where

self:uiview

}class myview:uiview{}

extension myview:aprotocol{}

let myview = myview()

let astr = myview.getstring()

注意:以下是swift3.0取消的 where 寫法

本來在while迴圈中也能使用的where,現在變成了這個樣子\

1、while

//while   swift2.0中的寫法

var arraytwo:[int]? =

while

let arr = arraytwo where arr.count < 5

的寫法var arraytwo:[int]? =

while

let arr = arraytwo , arr.count < 5

2、if 和 guard

// swift2.0中的寫法``

let sstring =

""if

let str = sstring where str ==

""let

string:string?=

"小剛"

guard let str =

string

where str !=

"小明"

else

print("確實是小明")

合理的利用where關鍵字會令**有更高的可讀性、更高的簡便性、更時尚。

new關鍵字 this關鍵字 base關鍵字

使用new,所做的三件事 1.類是引用物件,引用物件是在堆中開闢空間 在堆中開闢空間 2.在開闢的堆空間中建立物件 3.呼叫物件的構建函式 4.隱藏父類成員 子類的成員可以與隱藏從父類繼承的成員,類似於重寫。public new void sayhello this關鍵字的使用 1.代表當前類的物件...

java中關鍵字final static使用總結

一.final final類不能被繼承,沒有子類,final類中的方法預設是final的。final方法不能被子類的方法覆蓋,但可以被繼承。final成員變數表示常量,只能被賦值一次,賦值後值不再改變。final不能用於修飾構造方法。父類的private成員方法是不能被子類方法覆蓋的,因此priva...

this關鍵字 static關鍵字

1.當成員變數和區域性變數重名,可以用關鍵字this來區分 this 代表物件,代表那個物件呢?當前物件 this就是所在函式所屬物件的引用 簡單說 那個物件呼叫了this所在的函式,this就代表哪個物件 this也可以用於在建構函式中呼叫其他建構函式 注意 只能定義在建構函式的第一行,因為初始化...