swift 学习笔记之在柯里化(Currying)

简介:     有时候我们看到的方法中有很多组的参数,可能会让大家觉得疑惑,其实是因为这个方法使用了柯里化。

    有时候我们看到的方法中有很多组的参数,可能会让大家觉得疑惑,其实是因为这个方法使用了柯里化。Swift里可以对方法进行柯里化,也就说有多个参数的方法可以接受第一个参数,然后变成一个接受余下参数并且返回结果的新方法,举个例子:

func twoTemp(a:Int)(b:Int) -> Int{
return a + b
}

这个方法有两组参数,可以只传第一个参数:

let oneTemp = twoTemp(1)

这里的oneTemp是一个新的方法,类型如图所示


这个新方法接受剩下的b作为参数,返回一个Int,现在给这个方法传入一个参数试试:

var result = oneTemp(b: 2)

在调用这个方法的时候需要显示地写出参数。现在result的结果是3。

柯里化的好处是提供了一个模板,可以写出具有很高复用性的代码,比如上例可以指定一个运算数建立一套方法。


目录
相关文章
|
安全 Swift
Swift-Currying(柯里化)
柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数切返回结果的新函数的技术
255 0
|
Swift
Swift学习笔记——页面跳转
创建一个single view app后,项目中有main.storyboard,里面是一个viewcontroller。 那么我们如何实现页面跳转 首先添加一个导航控制器Navigation Controller。点击右上的➕,然后选择控件拖到面板上即可
1244 0
|
前端开发 测试技术 Swift
Swift学习笔记——新建项目
在xcode菜单中选择 new -> project -> single view app 点击next在弹出窗中填写项目名称 这里languge有可以选择object-c或swift作为项目语言。这里我们学习swift,所以选择swift。 如果language选择swift,下面的user interface可以选择swiftUI和storyboard。 SwiftUI是2019 年 WWDC 大会上,苹果在压轴环节向大众宣布了基于 Swift 语言构建的全新 UI 框架,与flutter类似,是用代码编写页面,支持快速预览。
729 0