swift基本语法(总结提炼版)之011 swift 之函数类型
2016-02-27 00:12
357 查看
import Foundation
/*
函数类型:
类似于C语言的指向函数的指针
类似于OC语言的block
函数类型是由函数的参数类型和返回值类型组成的
*/
// 这两个函数的类型是 (Int, Int) -> Int
func sum(a: Int, b: Int) ->Int
{
return a + b;
}
func sub(a: Int, b: Int) ->Int
{
return a - b;
}
// 可以利用函数类型定义函数变量和常量
var funcP:(Int, Int) -> Int = sum
funcP = sub
print(funcP(10, 20))
// 函数类型可以作为函数的参数
func calFunc(a: Int, b: Int ,Option:(Int, Int) -> Int) ->Int
{
return Option(a, b)
}
print(calFunc(10, b: 20, Option: sum))
print(calFunc(10, b: 20, Option: sub))
// 函数类型可以作为函数返回值
func max(a: Int, b: Int) -> Int
{
return a > b ? a : b
}
func min(a: Int, b: Int) -> Int
{
return a < b ? a : b
}
func chooseFunc(getMax:Bool) -> (Int , Int) -> Int
{
return getMax ? max : min
}
var funcP2:(Int , Int) -> Int = chooseFunc(false)
print(funcP2(10, 20))
/*
函数类型:
类似于C语言的指向函数的指针
类似于OC语言的block
函数类型是由函数的参数类型和返回值类型组成的
*/
// 这两个函数的类型是 (Int, Int) -> Int
func sum(a: Int, b: Int) ->Int
{
return a + b;
}
func sub(a: Int, b: Int) ->Int
{
return a - b;
}
// 可以利用函数类型定义函数变量和常量
var funcP:(Int, Int) -> Int = sum
funcP = sub
print(funcP(10, 20))
// 函数类型可以作为函数的参数
func calFunc(a: Int, b: Int ,Option:(Int, Int) -> Int) ->Int
{
return Option(a, b)
}
print(calFunc(10, b: 20, Option: sum))
print(calFunc(10, b: 20, Option: sub))
// 函数类型可以作为函数返回值
func max(a: Int, b: Int) -> Int
{
return a > b ? a : b
}
func min(a: Int, b: Int) -> Int
{
return a < b ? a : b
}
func chooseFunc(getMax:Bool) -> (Int , Int) -> Int
{
return getMax ? max : min
}
var funcP2:(Int , Int) -> Int = chooseFunc(false)
print(funcP2(10, 20))
相关文章推荐
- iOS 开发 -- Swift (十三) 只读属性
- IOS Apps 开发(Swift)(8)——Create a Table View
- iOS 开发 -- Swift (十二) 懒加载
- swift语法(三)
- iOS 开发 -- Swift (十一) 便利构造函数
- Swift中的?与!区别分析
- iOS 开发 -- Swift (十) 重载构造函数
- Swift:界面传值指南
- 在OC项目中添加Swift文件并实现混合编程
- swift与OC的关系
- iOS 开发 -- Swift (九) 构造函数
- IOS Apps 开发(Swift)(7)——Define Your Data Model
- IOS Apps 开发(Swift)(6)——Implement a Custom Control(2)
- The Swift Programming Language学习笔记(二十六)——高级运算符
- IOS Apps 开发(Swift)(6)——Implement a Custom Control(1)
- Swift编程之枚举类型详解
- 窥探Swift编程中的错误处理与异常抛出
- 七个Swift中的陷阱以及避免方法
- Swift - 多线程实现方式(3) - Grand Central Dispatch(GCD)
- (Swift+iOS)字符串轨迹转贝塞尔曲线,实现动态写字效果