博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【swift-总结】函数
阅读量:5284 次
发布时间:2019-06-14

本文共 2265 字,大约阅读时间需要 7 分钟。

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);

转载于:https://www.cnblogs.com/zsychanpin/p/7232152.html

你可能感兴趣的文章
使用xrdp或Xmanager 远程连接 CentOS6
查看>>
Linux误删恢复
查看>>
Unity调用Windows窗口句柄,选择文件和目录
查看>>
HashMap循环遍历方式
查看>>
React Native 入门 调试项目
查看>>
C# 通过 Quartz .NET 实现 schedule job 的处理
查看>>
关于java之socket输入流输出流可否放在不同的线程里进行处理
查看>>
目前为止用过的最好的Json互转工具类ConvertJson
查看>>
Day13
查看>>
tensorflow saver简介+Demo with linear-model
查看>>
Luogu_4103 [HEOI2014]大工程
查看>>
Oracle——SQL基础
查看>>
项目置顶随笔
查看>>
Redis的安装与使用
查看>>
P1970 花匠
查看>>
java语言与java技术
查看>>
NOIP2016提高A组五校联考2总结
查看>>
iOS 项目的编译速度提高
查看>>
table中checkbox选择多行
查看>>
Magento开发文档(三):Magento控制器
查看>>