美文网首页Swift
Swift Function Tips

Swift Function Tips

作者: KeymyLin | 来源:发表于2017-02-15 14:20 被阅读0次
可变参数

一个可变参数(variadic parameter)可以接受零个或多个值。函数调用时,你可以用可变参数来指定函数参数可以被传入不确定数量的输入值。通过在变量类型名后面加入(...)的方式来定义可变参数。
可变参数的传入值在函数体中变为此类型的一个数组。例如,一个叫做 numbers 的 Double... 型可变参数,在函数体内可以当做一个叫 numbers 的 [Double] 型的数组常量。
下面的这个函数用来计算一组任意长度数字的 算术平均数(arithmetic mean):

func arithmeticMean(_ numbers: Double...) -> Double {
    var total: Double = 0
    for number in numbers {
        total += number
    }
    return total / Double(numbers.count)
}
arithmeticMean(1, 2, 3, 4, 5)
// 返回 3.0, 是这 5 个数的平均数。
arithmeticMean(3, 8.25, 18.75)
// 返回 10.0, 是这 3 个数的平均数

⚠️一个函数最多只能拥有一个可变参数

输入输出参数

函数参数默认是常量。试图在函数体中更改参数值将会导致编译错误(compile-time error)。这意味着你不能错误地更改参数值。如果你想要一个函数可以修改参数的值,并且想要在这些修改在函数调用结束后仍然存在,那么就应该把这个参数定义为输入输出参数(In-Out Parameters)。定义一个输入输出参数时,在参数定义前加 inout关键字。一个输入输出参数有传入函数的值,这个值被函数修改,然后被传出函数,替换原来的值。想获取更多的关于输入输出参数的细节和相关的编译器优化,请查看输入输出参数一节。你只能传递变量给输入输出参数。你不能传入常量或者字面量,因为这些量是不能被修改的。当传入的参数作为输入输出参数时,需要在参数名前加 & 符,表示这个值可以被函数修改。

⚠️ 输入输出参数不能有默认值,而且可变参数(指上面的参数个数)不能用 inout 标记。

相关文章

  • Swift Function Tips

    可变参数 一个可变参数(variadic parameter)可以接受零个或多个值。函数调用时,你可以用可变参数来...

  • Swift Function Builder

    Swift 5.1开始,Swift多了一个Function Builder的特性。Function Builder...

  • Swift学习资料汇总

    极客学院 Swift迷 GitHub上Swift中文版 Swift源代码 Swift Tips Swift语言指南...

  • Swift备忘

    Swift初体验 Swift Tips Swift三种不同的【异常处理方式】 Swift 3.0 private变...

  • Python骚操作:动态定义函数

    标题:Python Tips: Dynamic function definition 作者:Philip Tra...

  • Event Emitter

    Tips: 先注册listener - on,后emit Listener function 同步执行 'on' ...

  • Function (swift)

    2018-05-30 (1) 函数定义与调用/// func 函数名 (函数形参列表) -> 返回类型 {函数体}...

  • Function Swift

    本次分享目的 让大家对 Functional Programming有一个基本的了解 熟悉Swift Librar...

  • swift学习笔记之一—初见

    本文内容来自The Swift Programming Language 中文版 Tips Swift 并不强制要...

  • Swift如何给TableView、CollectionView

    OneSwift - iOS Tips Based On Swift TableView和CollectionVi...

网友评论

    本文标题:Swift Function Tips

    本文链接:https://www.haomeiwen.com/subject/vudqwttx.html