IOS Swift 简写Closure,我也能做到吗?

前言:

本来要睡了但感觉今天过得太废了所以惩罚自己再打一篇,明天要去自己最喜欢的导演开设的酒吧参加活动,超级期待的拉,虽然他的podcast目前结束要进行下一个阶段,但还是想介绍给大家对于社会新鲜人、快要出社会的人都非常有帮助,甚至可以说这是对我人生最为重要的podcast,它叫 <那些你不敢跟老闆说的事> 真的很棒推荐给大家。
http://img2.58codes.com/2024/20136753xvJGYRA04F.jpg


话说

话说上次讲到Closure的时候,我相信很多人刚开始学时一定会和我一样矇,想说这到底是三小,这陋陋长的东西感觉就没这么好用,而且真的好长跟我的..比的话^^,我们先默哀三秒。好我们继续...

简短拉干

确实Closure是有一些撇部可以简短的,如此一来看起来也会比教清楚明了。

开始吧

一样我们先说明步骤
1.若已经知道参数及回传值的型别的话,则可以删除closure内参数及回传值的型别
2.若程式码只有一行的情况下可以省略return,因为此时系统会帮你预设return
3.可以利用$0、$1、$2..,代替进去的参数名称

看无拉

我知道!所以我要开始介绍了。
我们一样先写一个func

func addtion(num1:Int,num2:Int) -> Int{    return num1 + num2}addtion(num1: 1, num2: 1)// 2

然后我们把它转换为Closure,并把他加到变数内

let addtion:(Int,Int)->Int = { (num1:Int, num2:Int) -> Int in    return num1 + num2}addtion(1, 1)// 2

简写啰

1.若已经知道参数及回传值的型别的话,则可以删除closure内参数及回传值的型别。

我们已经知道了closure的型别为传入两个整数后会回传一个整数,所以我们可以先将closure内参数删除

let addtion:(Int,Int)->Int = { (num1, num2)  in   return num1 + num2}

2.若程式码只有一行的情况下可以省略return,因为此时系统会帮你预设return。

没错你只有看到一行,所以省略return吧

let addtion:(Int,Int)->Int = { (num1, num2)  in num1 + num2}

3.可以利用$0、$1、$2..,代替进去的参数名称。

记得是从$0依序代替喔

let addtion:(Int,Int)->Int = {    $0 + $1}

$0是第一个参数,$1是第二个参数所以可以省略num1, num2了。

此时执行

addtion(1, 1)//2

结果会是一样的。
好的各位我真的要去睡觉了,祝我明天好运吧。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章