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

前言:

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

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


<<:  WordPress网站加速历程-SiteGround与CLOUDWAYS的TTFB比较

>>:  [Day 37] 关於web.php的迷失

Day27:测试 Coroutine

Coroutine 是非同步程序的解决方案,我们将耗时的任务置放在 suspend 函式中,在正常的...

第 22 集:Bootstrap 客制化 utilities(下)

此篇延续 Bootstrap 客制化 Sass utilities(上)最後尚未介绍的 gener...

Day23:【技术篇】CSS 的变数运用技巧(2)

一、前言   因为 CSS的变数能运用的地方真的很多,所以就分几篇来穿插介绍罗~ 二、CSS 的变数...

<Day3>当代的网路金融环境

在探讨如何将API应用在金融之前,我们势必要先来了解一下什麽是金融? 所谓的「金融」简单来说就是资本...

如何下载痞客邦的图片

今天要教大家如何简易的下载痞客邦的图片 一般来说,痞客邦的图片是不能直接右键另存的 所以其实只要把整...