【swift-总结】函数
swift的函数在swift2中的使用改变了不少
/**
*param: personName 參数
*returns: String为返回值
*/
func sayHello(personName: String) -> String {
return "Hello " + personName;
}
/*swift2中函数的调用必需要使用标签或者别名,没有别名第一个标签不带*/
func add(a: Int, b: Int) -> Int {
return a + b;
}
print(add(1, b:2));
/*假设使用了别名,函数调用的时候必须使用别名*/
func add(num1 a: Int, b: Int) -> Int {
return a + b;
}
print(add(num1: 1, b:2));
返回多个值
/*返回多个值,也就是返回一个元组*/
var nums = [1, 2, 3, 4, 5]
func minMax(array: [Int]) -> (min: Int, max: Int) {
var minNum = array[0];
var maxNum = array[0];
for num in array {
if num < minNum {
minNum = num
} else if num > maxNum {
maxNum = num
}
}
return (minNum, maxNum);
}
print(minMax(nums).max);
print(minMax(nums).min);
返回可选的元组
var nums = [1, 2, 3, 4, 5]
func minMax(array: [Int]) -> (min: Int, max: Int)? {
if array.isEmpty {
return nil;
}
var minNum = array[0];
var maxNum = array[0];
for num in array {
if num < minNum {
minNum = num
} else if num > maxNum {
maxNum = num
}
}
return (minNum, maxNum);
}
print(minMax(nums)!.max);
print(minMax(nums)!.min);
默认參数
func numFun(num: Int = 22) {
print(num);
}
numFun();//输出22
可变參数
func numAdd(nums: Int...) {
var sum = 0;
for num in nums {
sum += num;
}
print(sum);
}
numAdd(1, 2, 3);
不用标签调用函数的情况
func addNum(_ a:Int, _ b: Int) {
a + b;
}
addNum(a, b);
变量參数
函数參数默觉得常量,函数内部不能改变參数的值
要想在函数内部改变參数的值。就要使用变量作为參数
func swapNum(var a:Int, var b: Int) {
var temp = a;
a = b;
b = temp;
}
in-out參数
函数默认是使用拷贝传递函数的
使用in-out修饰參数表示參数是使用指针传递函数
func swapNum(inout a:Int, inout b: Int) {
let temp = a;
a = b;
b = temp;
}
var a = 1;
var b = 2;
swapNum(&a, b: &b);
print("a is \(a), b is \(b)");
函数类型
func add(a: Int, b: Int) -> Int {
return a + b;
}
print(add( 1, b:2));
/*声明一个变量,后面是函数类型*/
var addNum: (Int, Int) -> Int = add;
print(addNum(2, 3));
函数类型作为參数
func result(numFun: (Int, Int) -> Int, a: Int, b: Int) {
print(numFun(a, b));
}
result(addNum, a: 6, b: 7);
函数类型作为返回值
/*返回一个函数*/
func chooseFunc() -> (Int) -> Int {
}
嵌套函数
func addNum(a: Int, b: Int) {
func printNum() {
print(22);
}
printNum();
print(a + b);
}
var a = 1;
var b = 3;
addNum(a, b:b);
【swift-总结】函数的更多相关文章
- Swift(三.函数)
一.swift中的函数分为以下几类吧 1>无参无返 2>无参有返 3>有参无返 4>有参有返 5>有参多返 二.看下面几个例子吧 1>无参无返 func a ...
- Swift 语言函数
import Foundation // 函数声明于实现 func sayHello(name){ print("Hello \(name)") } // 函数调用 sayHell ...
- swift 之 函数
swift的函数跟脚本语言有很多神似之处. 如果有一天用swift开发服务器 ,很期待哇(一切皆有可能,毕竟人家说要跑在Linux上),
- Swift 中函数使用指南
关于Swift中的各种函数的使用的总结 前言 时间久了,好多东西我们就会慢慢忘记,在这里总结一下Swift中函数的使用原则,把大部分的函数使用技巧用代码示例来做了演示,但是如果想提高,还是要多多思考才 ...
- 窥探Swift之函数与闭包的应用实例
今天的博客算是比较基础的,还是那句话,基础这东西在什么时候都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小实 ...
- 你需要知道的swift必备函数 map
map这东西在oc中并未用过,但是swift在处理数组的时候显得格外的游刃有余,这归功于map这个函数: map函数 arr.map(<#T##transform: (Int) throws ...
- Swift:函数和闭包
函数 函数是一个完成独立任务的代码块,Swift中的函数不仅可以像C语言中的函数一样有函数的参数和返回值,而且还支持嵌套,并且有函数参数默认值.可变参数等. //定义一个函数,注意参数和返回值,如果没 ...
- 窥探 Swift 之 函数与闭包的应用实例
今天的博客算是比较基础的,还是那句话,基础这东西在什么时候 都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小 ...
- Swift学习——A Swift Tour 函数
Functions and Closures 函数和封闭性(闭包) Functions 函数的使用 Swift中的函数定义和OC中有明显的差别了,使用func定义函数,在括号里定义參数和类型,用 ...
- Swift - 自定义函数规则说明
1,无返回值的函数 1 2 3 func test(name:String){ } 2,返回一个返回值 1 2 3 func test(name:String) -> Bool{ r ...
随机推荐
- asp.net core 开发的https证书服务-agilelabs.net
创建证书-生成CSR(Certificate Sign Request): 填写证书基本信息 接下来我们就可以看到创建的证书签名请求信息(CSR): 为我们刚才创建的CSR签名: 签名的意思是说通过证 ...
- Nginx实现负载均衡&Nginx缓存功能
一.Nginx是什么 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambl ...
- WebGL学习(2) - 3D场景
原文地址:WebGL学习(2) - 3D场景 经过前面WebGL学习(1) - 三角形的学习,我们已经掌握了webGL的基础知识,也已经能够画出最基本的图形,比如点,线,三角形,矩形等.有了2D绘图的 ...
- C#保留小数位数的方法
1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo();provi ...
- WPF 完美截图 <二>
根据WPF 完美截图 <一>总结: 1.BitmapSource与BitmapImage及CorppedBitmap之间的转换 2.中心及边角的模板实现及其拖动 3.除了拖动矩形外区域要实 ...
- MySQL子查询优化实例
优化:子查询改写成关联查询 线上遇到问题,查询较慢,如为对应SQL的查询执行计划: localhost.\G . row *************************** id: select_ ...
- 如何基于 eolinker 的进行接口管理
由于工作的原因,经常要接触到很多API接口,而API接口在设计时往往需要编写大量的文档,而且编写完成后往往需要根据实际情况,经常改动文档,这使得文档编写维护工作量相对较大,这让我也包括很多的开发者都很 ...
- numpy初识
1,机器学习numpy 初识 1)numpy初识 import numpy num1= numpy.array([1,2,3]) dtype('num1') #查找类型 num1.dtype num1 ...
- 判断pdf、word文档、图片等文件类型(格式)、大小的简便方法
判断pdf.word文档.图片等文件类型(格式).大小的简便方法 很久没发文了,今天有时间就写一下吧. 关于上传文件,通常我们都需要对其进行判断,限制上传的类型,如果是上传图片,我们甚至会把图片转化成 ...
- yum安装jdk
安装步骤: 1.首先查看java的版本有哪些 : yum -y list java* 2. 安装目标jdk版本(我选择的是1.7) : yum -y install java-1.7.0-op ...