Swift中的可变参数函数介绍

可变参数函数指的是可以接受任意多个参数的函数,我们最熟悉的可能就是 NSString 的 -stringWithFormat:方法了。在 Objective-C 中,我们使用这个方法生成字符串的写法是这样的:

NSString *name = @"Tom";

NSDate *date = [NSDate date];

NSString *string = [NSString stringWithFormat:

                @"Hello %@. Date: %@", name, date];


这个方法中的参数是可以任意变化的,参数的第一项是需要格式化的字符串,后面的参数都是向第一个参数中填空。在这里我们不再详细描述 Objective-C 中可变参数函数的写法 (毕竟这是一本 Swift 的书),但是我相信绝大多数即使有着几年 Objective-C 经验的读者,也很难在不查阅资料的前提下正确写出一个接受可变参数的函数。

但是这一切在Swift中得到了前所未有的简化。现在,写一个可变参数的函数只需要在声明参数时在类型后面加上 ... 就可以了。比如下面就声明了一个接受可变参数的 Int 累加函数:

func sum(input: Int...) -> Int {

    //...

}


输入的 input 在函数体内部将被作为数组 [Int] 来使用,让我们来完成上面的方法吧。当然你可以用传统的 for...in 做累加,但是这里我们选择了一种看起来更 Swift的方式:

func sum(input: Int...) -> Int {

    return input.reduce(0, combine: +)

}

println(sum(1,2,3,4,5))

// 输出:15

以上是 Swift中的可变参数函数介绍 的全部内容, 来源链接: utcz.com/z/333801.html

回到顶部