swift学习日志——可变参数

这篇博客探讨了Swift中的可变参数概念,允许函数接收零个或多个输入值。在函数内部,可变参数表现为数组。文章通过累加函数的例子展示了如何使用默认参数值与可变参数,并警告了在默认参数与可变参数共存时,不应忽略可变参数的外部名称,以避免编译错误。这是一个关于Swift语言特性的重要细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可变参数(Variadic Parameters)

一个可变参数(variadic parameter)可以接受零个或多个值。函数调用时,你可以用可变参数来指定函数参数可以被传入不确定数量的输入值。通过在变量类型名后面加入(...)的方式来定义可变参数。

可变参数的传入值在函数体中变为此类型的一个数组。例如,一个叫做 numbers 的 Double... 型可变参数,在函数体内可以当做一个叫 numbers 的 [Double] 型的数组常量。如下:累加函数中有一个默认参数值和一个可变参数

<pre name="code" class="plain">func sum(name:String = "man",numbers:Double...) ->Double{    
var total:Double = 0    
for number in numbers{        
total+=number    }    
return total
}

 

注意:一个函数最多只能有一个可变参数。如果函数有一个或多个带默认值的参数,而且还有一个可变参数,那么把可变参数放在参数表的最后。

警告:如果必须有默认值的参数,并且有可变参数,那么可变参数numbers还是不要用忽略外部参数名“_”符号,即 “_ numbers” ,不然调用函数sum(1.5,1.9,2)会报错!因为编译器它无法判断我究竟是省略第一个参数(默认参数值)还是第一个参数入参错误。这应该算是swift的一个Bug吧。swift还在完善中,相信不就将来会解决的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值