如何用forEach高阶函数实现Swift数组求和函数
使用forEach实现Float数组求和函数
以下是补全后的完整代码,完全满足需求:
func sum(list: [Float]) -> Float { // 初始化累加变量,初始值为0.0 var total: Float = 0.0 // 用forEach遍历数组,逐个累加元素值 list.forEach({ (n: Float) -> () in total += n }) // 返回最终的累加结果 return total }
逻辑说明:
- 首先在函数内部定义一个可变的Float类型变量
total,初始值设为0.0,用来存储累加的总和 - 通过
forEach遍历传入的数组,每次遍历到元素n时,就把n的值加到total上 - 遍历完成后,
total就是所有元素的总和,直接返回即可
如果你想使用更简洁的Swift闭包写法,也可以改成这样:
func sum(list: [Float]) -> Float { var total: Float = 0.0 list.forEach { total += $0 } return total }
内容的提问来源于stack exchange,提问作者tyoung1385
相关产品推荐
相关产品推荐

