如何通过在Swift Playground中传递Int数组来创建求和函数并调用它?

Man*_*ran 1 ios swift swift-playground

我创建了一个函数,该函数通过接受Int数组并将元素的总和作为整数值返回来执行数字求和。以下是我检查过的代码,在逻辑上是正确的,但是在运行时提及,控制台中的“索引超出范围”和“

错误:执行被中断,原因:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)。

码:

import UIKit
var x=[Int]()
var i=0
func dosomething(y:[Int])->Int{

    for index in 0..<y.count{
        if index==0{
            x[index]=0
            x[index]=x[index]+y[index]
            i=x[index]
            }
        else{
            x[index]=x[index-1]+y[index]
           i=x[index]
        }
       }
    return i
}

dosomething(y:[1,2,3])
Run Code Online (Sandbox Code Playgroud)

Jog*_*ary 7

您可以直接使用像这样的高阶函数

[1,2,3].reduce(0, +)
Run Code Online (Sandbox Code Playgroud)

  • @ user28434您说对了,您的var555为空,那么您无法使用像这样的下标分配值var555 [index2] = 0 (4认同)