Swift—分支

*分支if*

* Swift 提供了類似 C 語言的流程控制結(jié)構(gòu)(if/switch/for/while/dowhile)

* 只能以Bool作為條件語句

* 條件語句不需要加()

* {}不能省略

* swift中if分支的模式可以使用where語句來判斷額外的條件

* 其它跟OC中if一樣

let intValue = 10

'' if intValue > 2{

''? ? print("yes")

'' }

'' //用where額外判斷

'' let testValue: Int? = 10

'' if let d = testValue where testValue > 9{

''? ? print"滿足了"

'' }

*Bool類型*

* c語言和OC語言沒有真正的BOOL類型

* OC語言的Bool類型YES/NO是`typedef signed char BOOL;`非0即真

* swift引入了真正的BOOL類型true / false

* swift中邏輯只有兩個 true / false

* 如果你在需要使用BOOL類型的地方使用了非布爾值修己,swift的類型安全機(jī)制會報錯

if intValue = 10 { } //這種可能將判斷寫錯恢总,swift有效的避免了這種情況

'' if intValue == 10 {

''? ? print(intValue)

'' }

*三目運算符*

* 三目運算符的特殊在于它是有三個操作數(shù)的運算符,它簡潔地表達(dá)根據(jù)問題成立與否做出二選一的操作

* 格式: 問題 睬愤?答案一 : 答案二

* 提示 : swift中三目運算符用得很多

* 注意 :過度使用三目運算符會使簡潔的代碼變的難懂片仿。我們應(yīng)避免在一個組合語句中使用多個三目運算符

let result = intValue > 20 ? 20 : 19

*分支switch*

* OC中case后面必須加上break否則會貫穿,swift不用

* swift中如果想使用貫穿必須使用 fallthrough

* OC中可以不寫default尤辱,swift中只有滿足所有條件才能忽略default

* OC中default可以隨便放砂豌,swift不可以

* OC中case中定義變量需要加大括號,否則作用域混亂光督,swift不用加大括號

* swift的switch可以判斷區(qū)間和元祖

* swift中case分支的模式可以使用where語句來判斷額外的條件

注意:swift中每個case分支都必須包含至少一條語句阳距, 不像 C 語言里的switch語句,在 Swift 中结借,switch語句不會同時匹配多個條件

'' //OC中寫法

'' switch(rank){

'' case "A":

'' case "B":

''? ? NSLog(@"還不錯")

''? ? break

'' case "C":

''? ? NSLog("差")

''? ? break

'' }

'' //swift 寫法 default不能隨便放筐摘,只能放在最后

'' var rank = "A"

'' switch rank{

'' //??? default:

'' //? ? print("沒有評級")

'' case "A", "B":

''? ? var num = 10

''? ? print("優(yōu)")

''? ? fallthrough

'' case "C":

''? ? print("差")

'' default:

''? ? print("沒有評級")

'' }

*匹配區(qū)間*

* 閉區(qū)間操作符 . . . 包含頭包含尾

* 半開區(qū)間操作符 . .< 包含頭不包含尾

'' var age1 = 10

''? ? ? ? switch age1 {

''? ? ? ? case 0:

''? ? ? ? ? print("0")

''? ? ? ? case 1..<18:

''? ? ? ? ? print("未成年")

''? ? ? ? case 18..<30:

''? ? ? ? ? print("成年")

''? ? ? ? default:

''? ? ? ? ? print("老年人")

''? ? ? ? }

''? ? ? ? //: 匹配元祖

''? ? ? ? var point = (50, 50)

''? ? ? ? switch point{

''? ? ? ? ? // 只有where后面的條件表達(dá)式為真才賦值并執(zhí)行case后的語句

''? ? ? ? case (0, 0):

''? ? ? ? ? print("原點")

''? ? ? ? case (50, 50):

''? ? ? ? ? print("中點")

''? ? ? ? default:

''? ? ? ? ? print("Other")

''? ? ? ? }

''? ? ? ? //: 值綁定(Value Bindings)

''? ? ? ? switch point{

''? ? ? ? ? // 只有where后面的條件表達(dá)式為真才賦值并執(zhí)行case后的語句

''? ? ? ? case var(x, y) where x > y:

''? ? ? ? ? print("\(x) > \(y)")

''? ? ? ? case var(x, y) where x < y:

''? ? ? ? ? print("\(x) < \(y)")

''? ? ? ? default:

''? ? ? ? ? print("Other")

''? ? ? ? }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蓄拣,更是在濱河造成了極大的恐慌扬虚,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件球恤,死亡現(xiàn)場離奇詭異辜昵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)咽斧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門堪置,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人张惹,你說我怎么就攤上這事舀锨。” “怎么了宛逗?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵坎匿,是天一觀的道長。 經(jīng)常有香客問我雷激,道長替蔬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任屎暇,我火速辦了婚禮承桥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘根悼。我一直安慰自己凶异,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布挤巡。 她就那樣靜靜地躺著剩彬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪玄柏。 梳的紋絲不亂的頭發(fā)上襟衰,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機(jī)與錄音粪摘,去河邊找鬼瀑晒。 笑死,一個胖子當(dāng)著我的面吹牛徘意,可吹牛的內(nèi)容都是我干的苔悦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼椎咧,長吁一口氣:“原來是場噩夢啊……” “哼玖详!你這毒婦竟也來了把介?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蟋座,失蹤者是張志新(化名)和其女友劉穎拗踢,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體向臀,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡巢墅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了券膀。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片君纫。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖芹彬,靈堂內(nèi)的尸體忽然破棺而出蓄髓,到底是詐尸還是另有隱情,我是刑警寧澤舒帮,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布会喝,位于F島的核電站,受9級特大地震影響会前,放射性物質(zhì)發(fā)生泄漏好乐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一瓦宜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧岭妖,春花似錦临庇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至斋攀,卻和暖如春已卷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背淳蔼。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工侧蘸, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鹉梨。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓讳癌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親存皂。 傳聞我的和親對象是個殘疾皇子晌坤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容