Swift 为什么找不到';新阵列';在if语句之外使用return时在范围内 导入基础 func aVeryBigSum(ar:[Int])->Int{ 如果ar[0]ar[1[]{ var newArray=0 } 返回新数组 } 打印(平均总金额(应收账款:[5,8]))

Swift 为什么找不到';新阵列';在if语句之外使用return时在范围内 导入基础 func aVeryBigSum(ar:[Int])->Int{ 如果ar[0]ar[1[]{ var newArray=0 } 返回新数组 } 打印(平均总金额(应收账款:[5,8])),swift,if-statement,return,Swift,If Statement,Return,您正在if和else语句中创建不同的newArray。并且您不能在其范围之外使用属性。因此只需在if或else语句中返回值。或者在函数范围(而不是if-else语句的范围)中创建newArray比如第二个例子 首先 func aVeryBigSum(ar:[Int])->Int{ 如果ar[0]Int{ 让newArray:Int 如果ar[0]Int{ 如果ar[0]Int{ 让newArray:Int 如果ar[0]

您正在
if
else
语句中创建不同的
newArray
。并且您不能在其范围之外使用属性。因此只需在
if
else
语句中返回值。或者在函数范围(而不是if-else语句的范围)中创建
newArray
比如第二个例子


首先

func aVeryBigSum(ar:[Int])->Int{
如果ar[0]

func aVeryBigSum(ar:[Int])->Int{
让newArray:Int
如果ar[0]

您在
if
else
语句中创建不同的
newArray
。并且您不能在其范围之外使用属性。因此只需在
if
else
语句中返回值。或者在函数范围(而不是if-else语句的范围)中创建
newArray
比如第二个例子


首先

func aVeryBigSum(ar:[Int])->Int{
如果ar[0]

func aVeryBigSum(ar:[Int])->Int{
让newArray:Int
如果ar[0]

如果我这样做,我会收到一个错误"预期返回“Int”的函数中缺少返回值。您是对的,请检查我的更新答案。@BabyProgrammer您能将其标记为“接受他人福利”吗?谢谢您,emrcftci,我刚刚点击了绿色勾号。我目前正在阅读您提供的范围和上下文链接。很高兴您的帮助,我一直在使用它我们的。如果我这样做,我会收到一个错误"预期返回“Int”的函数中缺少返回值。您是对的,请检查我的更新答案。@BabyProgrammer您能将其标记为“接受他人福利”吗?谢谢您,emrcftci,我刚刚点击了绿色勾号。我目前正在阅读您提供的范围和上下文链接。很高兴您的帮助,我一直在使用它我们的。
import Foundation

func aVeryBigSum(ar: [Int]) -> Int {

    if ar[0] < ar[1]{
    
        var newArray = 1
        
    } else if ar[0] > ar[1[]{
        var newArray = 0
    }
    
    return newArray
}


print(aVeryBigSum(ar: [5,8]))