Swift之闭包

Swift之闭包

闭包(Closures)是自包含的功能代码块,可以在代码中使用或者用来作为参数传值。
Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks)以及其他一些编程语言中的 匿名函数比较相似。
全局函数和嵌套函数其实就是特殊的闭包。

根据官方文档,闭包通常下三种形式之一:

全局函数 一个有名字但不会捕获任何值的闭包
嵌套函数 一个有名字并可以捕获其封闭函数域内值的闭包
闭包表达式 一个利用轻量级语法所写的可以捕获其上下文中变量或常量值的匿名闭包

一、闭包引入

普通函数写法

func square(num:Int)->Int{
   
    return num*num
}
print(square(num:123))

闭包写法

let f1 = {
   
    (num:Int)->Int in
    return num*num
}
print(type(of:f1))//fun1类型:(Int) -> Int
print(f1(456))

闭包表达式语法
1、由一对{}开始和结束;
2、in关键字把闭包分成两部分:参数与返回值、闭包体

思考1:demo是不是一个闭包

let demo = {
   print("hello")}
print(type(of:demo))// () -> ()

思考2:写一个闭包表达式,实现两数相加

let sum = {
   
  (num1:Int<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值