专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Swift

【swift-小结】函数

发布时间:2011-06-30 07:25:22 文章来源:www.iduyao.cn 采编人员:星星草
【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);
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: