Swift3.0函數(shù)的枚舉 函數(shù) 結(jié)構(gòu)體 類

//枚舉 函數(shù) 結(jié)構(gòu)體 類 協(xié)議? 代理設(shè)計模式 閉包

import Foundation

//枚舉 enum

// enum 枚舉名:值類型 {

//? ? case 枚舉情況 = 初始值

//? ? case 枚舉情況 = 初始值

//? ? ...

// 值類型和初始值可以選擇是否賦值

//枚舉也是一種數(shù)據(jù)類型,只不過是我們自定義的數(shù)據(jù)類型

//}

//季節(jié)

enum Season:String {

case spring = "春天"

case summer = "夏天"

case autumn = "秋天"

case winter = "冬天"

}

//定義變量常量

let aSeason:Season = Season.spring

//給定數(shù)據(jù)類型就賦值時就可以省略枚舉類型

let aSeason2:Season = .summer

//不給定數(shù)據(jù)類型煎楣,首次賦值一定要給枚舉類型

var aSeason3 = Season.summer

aSeason3 = .spring

//獲取枚舉情況的值

print(aSeason3.rawValue)//rawValue才是真正的枚舉值

print(aSeason3.hashValue)//hashValue case的編號從0開始

//枚舉經(jīng)常和switch結(jié)合使用

switch aSeason3{

case .spring:

print("春天來了,夏天還會遠(yuǎn)嗎?")

fallthrough //增加case的穿透性 但是只能穿透一條

case .summer:

print("夏天來了胜蛉,秋天還會遠(yuǎn)嗎?")

fallthrough

case .autumn:

print("秋天來了,收獲的季節(jié)到了")

fallthrough

//枚舉情況沒有列舉完的default語句必須添加

// 枚舉情況都列舉完,default語句不需要再寫

case .winter:

print("冬天太冷了")

//default:

//? ? print("你是來自火星的嗎")

}

//函數(shù):能完成特定功能的代碼段 好處:方便調(diào)用肌访,保護(hù)知識產(chǎn)權(quán) 減少代碼冗余

////1無參數(shù),無返回值

//2無參數(shù)艇劫,有返回值

//3有參數(shù)吼驶,無返回值

//4有參數(shù),有返回值

// 函數(shù)定義的格式

/*

func 函數(shù)名(參數(shù)列表) -> (返回值類型) {

函數(shù)體

}

*/

//小王買紅酒(沒給錢 店煞,沒紅酒)

//1無參數(shù)蟹演,無返回值

//函數(shù)的定義

func buyRedwine() -> Void {

print("錢沒給不買")

}

//函數(shù)的調(diào)用

buyRedwine()

//2無參數(shù),有返回值

func buyRedwine2() -> Int {

print("82年的拉菲來一瓶")

return 1

}

//函數(shù)的調(diào)用

let bottle = buyRedwine2()

print("買了\(bottle)瓶")

//3有參數(shù)顷蟀,無返回值

//沒有返回值的時候 ->void可以省略

func buyXuebi(money:Int){

print("\(money)塊錢熬魄搿!好多呀鸣个!跑路呀")

}

buyXuebi(money: 100)

//4有參數(shù)羞反,有返回值

func buyXuebei2(money:Int) -> Int {

print("買了\(money / 2)瓶雪碧")

return money / 2

}

let bottle2 = buyXuebei2(money: 5)

print("買了\(bottle2)瓶")

//計算兩個數(shù)的和

//a,b是形參 oneNumber,otherNumber是外部參數(shù)囤萤,對形參進(jìn)行說明的

func sum(oneNumber a:Int, otherNumber b:Int) -> Int {

return a + b

}

//調(diào)用時傳的的值為實(shí)參

print(sum(oneNumber: 10, otherNumber: 20))

//可變參數(shù)函數(shù)

func qiuHe(numbers:Int...) -> Int {

//傳的多個參數(shù)存放在numbers形參里了昼窗,此時numbers相當(dāng)一個數(shù)組

var result = 0

for item in numbers {

result += item

}

return result

}

print(qiuHe(numbers: 1,2,3,4,5,6,7))

//定義一個函數(shù)交換兩個變量的值

//Swift 所有的形參默認(rèn)都是常量,函數(shù)內(nèi)部不能修改形參的值

func swap(num1: inout Int , num2:inout Int)? {

let temp = num1

num1 = num2

num2 = temp

}

var a = 10, b = 20

swap(&a, &b)

print("a\(a)" , "b\(b)")

//結(jié)構(gòu)體 用來描述一個有多個屬性組成的整體涛舍,也是一種自定數(shù)據(jù)類型

//結(jié)構(gòu)體的定義格式

/*struct 結(jié)構(gòu)體名{

屬性列表

方法

}*/

//類的三大特性封裝 類型 多態(tài)

struct Orgin {

//存儲屬性

var x:Float

var y:Float

//對象方法

func drawOrign ()? {

print("在二維坐標(biāo)系中畫一個點(diǎn)")

}

//類方法

static func showPoint(){

print("我是一個點(diǎn)")

}

}

//結(jié)構(gòu)題的使用

let p1 = Orgin(x: 10.2, y: 15.3)

p1.drawOrign()

//使用結(jié)構(gòu)體名調(diào)用類方法

Orgin.showPoint()

print(p1.x,p1.y)

//尺寸的結(jié)構(gòu)體

struct Size {

var height:Float

var? width:Float

}

let asize = Size(height: 20.0, width: 100.0)

print(asize)

struct Frame {

//結(jié)構(gòu)體的屬性依然可以是結(jié)構(gòu)體

var orign:Orgin

var size:Size

//計算屬性不是用來給自己賦值的 而是要間接的為其他屬性賦值澄惊,自己的值只能通過計算獲得,不能直接給自己賦值

var center:Orgin {

// 間接為orign屬性賦值

set(newCenter) {

orign.x = newCenter.x - size.width * 0.5

orign.y = newCenter.y - size.height * 0.5

}

//間接的獲取到自己的值

get {

let x = orign.x + size.width * 0.5

let y = orign.y + size.height * 0.5

return Orgin(x:x,y:y)

}

}

}

var aFrame = Frame(orign: Orgin(x: 10, y: 20), size: Size(height: 50, width: 100))

//取計算屬性的值

print(aFrame.center)

//給計算屬性賦值富雅,不是給它自己賦值掸驱,是間接的為其他屬性賦值

aFrame.center = Orgin(x: 50, y: 50)

print(aFrame.orign) //orgin:(0.0,25.0)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末没佑,一起剝皮案震驚了整個濱河市亭敢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌图筹,老刑警劉巖帅刀,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異远剩,居然都是意外死亡扣溺,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門瓜晤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锥余,“玉大人,你說我怎么就攤上這事痢掠∏蹋” “怎么了嘲恍?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長雄驹。 經(jīng)常有香客問我佃牛,道長,這世上最難降的妖魔是什么医舆? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任俘侠,我火速辦了婚禮,結(jié)果婚禮上蔬将,老公的妹妹穿的比我還像新娘爷速。我一直安慰自己,他們只是感情好霞怀,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布惫东。 她就那樣靜靜地躺著,像睡著了一般毙石。 火紅的嫁衣襯著肌膚如雪廉沮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天胁黑,我揣著相機(jī)與錄音,去河邊找鬼州泊。 笑死丧蘸,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的遥皂。 我是一名探鬼主播力喷,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼演训!你這毒婦竟也來了弟孟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤样悟,失蹤者是張志新(化名)和其女友劉穎拂募,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窟她,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡陈症,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了震糖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片录肯。...
    茶點(diǎn)故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吊说,靈堂內(nèi)的尸體忽然破棺而出论咏,到底是詐尸還是另有隱情优炬,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布厅贪,位于F島的核電站蠢护,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏卦溢。R本人自食惡果不足惜糊余,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望单寂。 院中可真熱鬧贬芥,春花似錦、人聲如沸宣决。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尊沸。三九已至威沫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間洼专,已是汗流浹背棒掠。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留屁商,地道東北人烟很。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像蜡镶,于是被迫代替她去往敵國和親雾袱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評論 2 361

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