何时使用括号与不在嵌套函数中使用 Return

When to Use Parentheses vs. Not in Nested Function Return

对 Swift 很陌生。我真的很困惑什么时候添加 ( ) 什么时候不添加 return 从嵌套函数中调用 return。一个例子是下面的代码。我知道可能不需要嵌套函数,但仅作为示例:

func areaOfTriangle (width: Double, height: Double) -> Double {
    func divided () -> Double {
        return (width * height) / 2
    }
    return divided()
}

return divided()部分,我似乎记得在我学习的某个地方有时不需要( )。有人可以提供一些关于为什么在这种情况下需要括号的逻辑吗?

谢谢。

当你想执行函数时使用()

return divided()

returns divided 的结果,即 Double.

return divided

returns 一个 函数 执行时 returns 一个 Double

这一行returns函数调用的值;

return divided()

这一行 returns 一个 "divided" 变量的值。这个变量也可能引用一个函数(不是值,是函数本身);

return divided

函数调用中的括号如果函数是不需要的:

  • 只接受一个参数
  • 参数本身是一个函数

例如函数 func funcWithHandler(handler: () -> Void) {} 可以这样调用:funcWithHandler { print("my handler executed") }