何时在嵌套函数中使用括号与否返回

时间:2016-02-07 18:04:59

标签: swift function nested-function

Swift很新。我很困惑你何时添加( )以及什么时候从嵌套函数返回返回时没有。一个例子是下面的代码。我知道可能不需要嵌套函数,但仅作为示例:

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

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

感谢。

3 个答案:

答案 0 :(得分:1)

如果函数:

,则不需要函数调用中的括号
  • 仅使用一个参数
  • 参数本身是一个函数

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

答案 1 :(得分:0)

要执行此功能时使用()

return divided()

返回divided的结果,即Double

return divided

返回函数,执行时返回Double

答案 2 :(得分:0)

该行返回函数调用的值;

return divided()

此行返回"除以"的值。变量。这个变量也可以指一个函数(不是值,函数本身);

return divided