//: 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 - 函数类型的更多相关文章

  1. Swift - 33 - 返回函数类型和函数嵌套

    //: Playground - noun: a place where people can play import UIKit /*---------------------------返回函数类 ...

  2. Swift 之 函数与闭包的应用实例

    http://www.cocoachina.com/swift/20160106/14862.html 今天的博客算是比较基础的,还是那句话,基础这东西在什么时候都是最重要的.说到函数,只要是写过程序 ...

  3. 窥探Swift之函数与闭包的应用实例

    今天的博客算是比较基础的,还是那句话,基础这东西在什么时候都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小实 ...

  4. Swift:函数和闭包

    函数 函数是一个完成独立任务的代码块,Swift中的函数不仅可以像C语言中的函数一样有函数的参数和返回值,而且还支持嵌套,并且有函数参数默认值.可变参数等. //定义一个函数,注意参数和返回值,如果没 ...

  5. Swift(三.函数)

    一.swift中的函数分为以下几类吧 1>无参无返   2>无参有返 3>有参无返  4>有参有返  5>有参多返 二.看下面几个例子吧 1>无参无返 func a ...

  6. 窥探 Swift 之 函数与闭包的应用实例

    今天的博客算是比较基础的,还是那句话,基础这东西在什么时候 都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小 ...

  7. Swift - 自定义函数规则说明

    1,无返回值的函数 1 2 3 func test(name:String){   } 2,返回一个返回值 1 2 3 func test(name:String) -> Bool{     r ...

  8. Swift之函数语法详解

    函数 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被“调用”. Swift 统一的函数语法足够灵活,可以用来表示任何函数 ...

  9. Swift 中函数使用指南

    关于Swift中的各种函数的使用的总结 前言 时间久了,好多东西我们就会慢慢忘记,在这里总结一下Swift中函数的使用原则,把大部分的函数使用技巧用代码示例来做了演示,但是如果想提高,还是要多多思考才 ...

随机推荐

  1. TWinControl的DoubleBuffered属性的作用与举例

    留个爪,网上搜一篇,仔细分析一下.

  2. jquery 插件JTable使用

    http://www.jtable.org/ 下载后增加: Add these lines to the HEAD section of your HTML document: <!-- Inc ...

  3. 【HDOJ】1525 Euclid's Game

    自己想明白的第一道博弈.首先a==b的时候肯定是先手赢: 然后当a>=2*b时,不妨假设a=nb+k, k<b,因此,不论后续怎么博弈,一定可以出现a=k, b=b的情况.因此,无论这个局 ...

  4. hihoCoder 1391 Countries 【预处理+排序+堆】 (ACM-ICPC国际大学生程序设计竞赛北京赛区(2016)网络赛)

    #1391 : Countries 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 There are two antagonistic countries, countr ...

  5. 自己做的网页页面导航浏览JS/JQuery

    需求: 当页面是由一个巨大的表格构成时,浏览器自动会出现纵向和横向滚动条,这时用户浏览页面会出现很蛋疼的感受,那就是恶心的横向滚动条! 为了减缓这种蛋疼的感觉,我尝试做了这个导航器(不知道如何称呼), ...

  6. MVC传值方式及优缺点

    说在前面文章转自 http://www.cxyclub.cn/n/49493/ 在MVC控件器传递多个Model到视图,使用ViewData,ViewBag,部分视图,TempData,ViewMod ...

  7. 从SG函数浅谈解决博弈问题的通法

    基于笔者之前对于几种二元零和博弈游戏的介绍,这里将其思想进行简单的提炼,并引出解决这类二元零和博弈游戏的强大工具——SG函数. 其实对于博弈游戏如Bash.Nim等基本类型,异或一些比较高级的棋类游戏 ...

  8. redis和ehcache

    Ehcache在java项目广泛的使用.它是一个开源的.设计于提高在数据从RDBMS中取出来的高花费.高延迟采取的一种缓存方案.正因为Ehcache具有健壮性(基于java开发).被认证(具有apac ...

  9. linux常用命令 http://mirrors.163.com/ubuntu-releases/12.04/

    由于记忆力有限,把平时常用的Linux命令整理出来,以便随时查阅: linux 基本命令 ls     (list 显示当前目录下文件和目录 ls -l 详细显示 =ll ) [root@linux ...

  10. java 服务端解决ajax跨域问题

    //过滤器方式 可以更改为拦截器方式public class SimpleCORSFilter implements Filter { public void doFilter(ServletRequ ...