何时使用括号与不在嵌套函数中使用 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") }
对 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") }