【问题标题】:When to Use Parentheses vs. Not in Nested Function Return何时使用括号与不在嵌套函数返回
【发布时间】:2016-05-17 08:57:19
【问题描述】:

对 Swift 非常陌生。我真的很困惑何时添加 ( ) 以及何时从嵌套函数返回返回值时不添加。下面的代码就是一个例子。我知道可能不需要嵌套函数,但仅作为示例:

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

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

谢谢。

【问题讨论】:

    标签: swift function nested-function


    【解决方案1】:

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

    return divided()
    

    返回divided 的结果,即Double

    return divided
    

    返回一个函数,它在执行时返回一个Double

    【讨论】:

      【解决方案2】:

      此行返回函数调用的值;

      return divided()
      

      这一行返回一个“除法”变量的值。这个变量也可以引用一个函数(不是值,函数本身);

      return divided
      

      【讨论】:

        【解决方案3】:

        如果函数:

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

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

        【讨论】:

          猜你喜欢
          • 2017-12-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-09-05
          • 1970-01-01
          • 2020-07-08
          • 1970-01-01
          相关资源
          最近更新 更多