Swift函數調用和閉包的使用

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {

super.viewDidLoad()

//? 函數的調用

//? 1. 無參數無返回值

model1()

model2()

model3()

//? 2.無參數有返回值

let str = model4()

print("str = \(str)")

//? 3.有參數無返回值

model5(str1: "12345", str2: "6789")

//? 4.有參數有返回值

let str5 = model6(str3: "123", str4: "456")

print("str5 = \(str5)")

//? 閉包的調用

//? 1.無參數無返回值

demo1()

//? 2.無參數有返回值

let mo1 = demo2()

print("mo1 = \(mo1)")

//? 3.有參數無返回值

demo3(str10: "12356")

//? 4.有參數有返回值

let mo2 = demo4(str11: "2658", str12: "3569")

print("mo2 = \(mo2)")

//? 練習:

let newsStrCount = newStringLength("world") { (a) -> String in

let b = "Hello\(a)"

return b

}

print("newsStrCount = \(newsStrCount)")

}

/*

函數:1.swift里面允許函數嵌套,并且不可見

2. 類名調用的函數前面加上class

3.如果一個類只要求在本類中調用苍匆,不希望外部可見睦番,就加上private踏揣,UI控件的響應事件不要加上private修飾

4. 函數調用的時候盡量不采用self

函數按照參數和返回值分為四種:1.無參數無返回值? 2.無參數有返回值? 3.有參數無返回值? 4.有參數有返回值

*/

//? 1.無參數無返回值? 格式:func 函數名 (){}? 有三種寫法

//? (1) 寫法一

func model1(){

print("無參數無返回值")

func model11(){

print("----------")

}

model11() //? 嵌套函數的調用

}

//? (2)寫法二

func model2()->(){

print("無參數無返回值02")

}

//? (3)寫法三

func model3()->Void{

print("無參數無返回值03")

}

//? 2.無參數有返回值? 格式:func? 函數名()->參數類型{ return 參數}

func model4 ()->String{

return "1234"

}

//? 3. 有參數無返回值? 格式:func 函數名(外部訪問參數 參數:參數類型....){} 非第一個參數屈暗,如果沒有外部訪問參數的話谎碍,會將形參當成外部訪問參數

func model5 (str1 str1:String,str2:String)->(){

print("\(str1)和\(str2)的長度是\(str1.characters.count + str2.characters.count)")

}

//? 4. 有參數有返回值的? 格式:func 函數名 (外部訪問參數 參數:參數類型....)->返回值類型

func model6 (str3 str3:String,str4:String)->Int{

let str5:String = "\(str3)\(str4)"

return str5.characters.count

}

/*

閉包:閉包相當于C里面的block 封裝了一段有特定功能的代碼塊鲤脏,閉包一樣可以當成函數的參數

函數按照參數和返回值分為四種:1.無參數無返回值? 2.無參數有返回值? 3.有參數無返回值? 4.有參數有返回值

格式:{

(輸入參數列表.....)->返回值類型

in

閉包里面執(zhí)行的代碼塊

*/

//? 1.無參數無返回值

let demo1 = {

()->()

in

print("無參數無返回值")

}

//? 2.無參數有返回值

let demo2 = {

()->(String)

in

let str1:String = "1234"

return str1

}

//? 3.有參數無返回值

let demo3 = {

( str10 str10:String)->()

in

print("這是一個輸入參數為\(str10)的閉包")

}

//? 4.有參數有返回值

let demo4 = {

(str11 str11:String,str12 str12:String)->(Int)

in

let str13:String = str11 + str12

return str13.characters.count

}

//? 練習://? 定義一個函數 兩個輸入參數? 其中一個是閉包? 閉包的功能是將輸入的第一個參數拼接上Hello 返回一個新的字符串? 函數的功能返回新字符的長度

func newStringLength(str:String,closure6:(a:String)->String)->Int{

let str = closure6(a:str)

return str.characters.count

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末爽茴,一起剝皮案震驚了整個濱河市灾锯,隨后出現的幾起案子兢榨,更是在濱河造成了極大的恐慌,老刑警劉巖顺饮,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吵聪,死亡現場離奇詭異,居然都是意外死亡兼雄,警方通過查閱死者的電腦和手機暖璧,發(fā)現死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來君旦,“玉大人澎办,你說我怎么就攤上這事〗鹂常” “怎么了局蚀?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長恕稠。 經常有香客問我琅绅,道長,這世上最難降的妖魔是什么鹅巍? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任千扶,我火速辦了婚禮,結果婚禮上骆捧,老公的妹妹穿的比我還像新娘澎羞。我一直安慰自己,他們只是感情好敛苇,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布妆绞。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪括饶。 梳的紋絲不亂的頭發(fā)上株茶,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機與錄音图焰,去河邊找鬼启盛。 笑死,一個胖子當著我的面吹牛技羔,可吹牛的內容都是我干的僵闯。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼堕阔,長吁一口氣:“原來是場噩夢啊……” “哼棍厂!你這毒婦竟也來了?” 一聲冷哼從身側響起超陆,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤牺弹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后时呀,有當地人在樹林里發(fā)現了一具尸體张漂,經...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年谨娜,在試婚紗的時候發(fā)現自己被綠了航攒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡趴梢,死狀恐怖漠畜,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情坞靶,我是刑警寧澤憔狞,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站彰阴,受9級特大地震影響瘾敢,放射性物質發(fā)生泄漏。R本人自食惡果不足惜尿这,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一簇抵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧射众,春花似錦碟摆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拓劝。三九已至雏逾,卻和暖如春嘉裤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背栖博。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工屑宠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仇让。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓典奉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親丧叽。 傳聞我的和親對象是個殘疾皇子卫玖,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內容