Swift - 32 - 函数类型
//: Playground - noun: a place where people can play import UIKit func add(a:Int, b:Int) -> Int
{
return a + b
} // 其中, (Int, Int) -> Int 就是显式的声明函数类型
let anotherAdd:(Int, Int) -> Int = add
anotherAdd(3, 4) /*--------------------------------------------------------------------*/ func sayHello(nickName:String)
{
print("Hello, \(nickName)")
} // 这里需要注意的是无返回值的函数类型的声明格式
let anotherGreeting:(String) -> Void = sayHello
anotherGreeting("Rinpe Chan")
// 或者写成
let greeting:(String) -> () = sayHello
greeting("BoBo")
// 或者写成(只有一个参数的时候有效)
let anotherHello:String -> () = sayHello
anotherHello("my son") /*------------------------------举个栗子--------------------------------*/ // 假设老师要对两组学生的分数进行不同操作 func changeScores1(inout scores:[Int]) {
for index in 0..<scores.count {
scores[index] += 3
}
} func changeScores2(inout scores:[Int]) {
for index in 0..<scores.count {
scores[index] -= 5;
}
} var scores1 = [36, 61, 78, 99, 100]
changeScores1(&scores1) var scores2 = [12, 45, 76, 88, 96]
changeScores2(&scores2) // 其实对于上面两个方法, 只是for循环里面的内容不同, 也就是老师对分数的操作
// 可以简化为: func changeScores(op:(Int) -> Int, inout scores:[Int]) {
for index in 0..<scores.count {
op(scores[index])
}
} func op1(originScore:Int) -> Int {
return originScore + 3
} func op2(originScore:Int) -> Int {
return originScore - 5
} changeScores(op1, scores: &scores1)
changeScores(op2, scores: &scores2)
Swift - 32 - 函数类型的更多相关文章
- Swift - 33 - 返回函数类型和函数嵌套
//: Playground - noun: a place where people can play import UIKit /*---------------------------返回函数类 ...
- Swift 之 函数与闭包的应用实例
http://www.cocoachina.com/swift/20160106/14862.html 今天的博客算是比较基础的,还是那句话,基础这东西在什么时候都是最重要的.说到函数,只要是写过程序 ...
- 窥探Swift之函数与闭包的应用实例
今天的博客算是比较基础的,还是那句话,基础这东西在什么时候都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小实 ...
- Swift:函数和闭包
函数 函数是一个完成独立任务的代码块,Swift中的函数不仅可以像C语言中的函数一样有函数的参数和返回值,而且还支持嵌套,并且有函数参数默认值.可变参数等. //定义一个函数,注意参数和返回值,如果没 ...
- Swift(三.函数)
一.swift中的函数分为以下几类吧 1>无参无返 2>无参有返 3>有参无返 4>有参有返 5>有参多返 二.看下面几个例子吧 1>无参无返 func a ...
- 窥探 Swift 之 函数与闭包的应用实例
今天的博客算是比较基础的,还是那句话,基础这东西在什么时候 都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小 ...
- Swift - 自定义函数规则说明
1,无返回值的函数 1 2 3 func test(name:String){ } 2,返回一个返回值 1 2 3 func test(name:String) -> Bool{ r ...
- Swift之函数语法详解
函数 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被“调用”. Swift 统一的函数语法足够灵活,可以用来表示任何函数 ...
- Swift 中函数使用指南
关于Swift中的各种函数的使用的总结 前言 时间久了,好多东西我们就会慢慢忘记,在这里总结一下Swift中函数的使用原则,把大部分的函数使用技巧用代码示例来做了演示,但是如果想提高,还是要多多思考才 ...
随机推荐
- Problem A: The Monocycle
uva10047:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&am ...
- 把消息送到默认窗口函数里,并非一点用都没有,可能会产生新的消息(以WM_WINDOWPOSCHANGED为例)
我在追踪执行: procedure TForm1.Button1Click(Sender: TObject); begin panel1.Left:=panel1.Left-; end; 并且屏蔽TW ...
- “adb server is out of date. killing.... ADB server didn't ACK * failed to start daemon * ”
草泥马的adb: “adb server is out of date. killing.... ADB server didn't ACK * failed to start daemon * ” ...
- CH Round #49 - Streaming #4 (NOIP模拟赛Day2)
A.二叉树的的根 题目:http://www.contesthunter.org/contest/CH%20Round%20%2349%20-%20Streaming%20%234%20(NOIP 模 ...
- 3 D. Least Cost Bracket Sequence
题目大意: 这是一个规则的字符括号序列.一个括号序列是规则的,那么在序列里面插入‘+’ 和 ‘1’ 会得到一个正确的数学表达式. 合法:(())(), (),(()(())) 不合法:)(,((),( ...
- Android常用的一些make命令(转载)--不错
原文网址:http://blog.sina.com.cn/s/blog_abc7e49a01011y0n.html 1.make -jXX XX表示数字,这个命令将编译Android系统并生成镜像, ...
- Oracle中使用profile管理用户口令
概述:profile 是口令限制,资源限制的命令集合,当建立数据库的,oracle 会自动建立名称为default 的profile.当建立用户没有指定profile 选项,那么oracle 就会将d ...
- call, apply && bind, currying
简要概括: apply(): 将函数作为指定对象的方法来调用,传递给它的是指定的参数数组 ——function.apply(thisobj, args) 或者 function.apply(thiso ...
- Reverse Words in a String——LeetCode
Given an input string, reverse the string word by word. For example,Given s = "the sky is blue& ...
- 开源库CImg 数据格式存储之二(RGB 顺序)
在上一篇博客中已经初步说明了GDI和CImg数据的存储格式感谢博友 Imageshop 评论说明 CImg的说明文档中已有详细说明(详见上篇博客说明) CImg的数据格式确实是RRRGGGBBB顺序存 ...