[英]How to define function that uses class type as a parameter in Swift?
[英]How to define a return type of a function which contains another, no parameter, function in Swift?
如何在Swift的以下代码中定义createMyFunction的返回类型? 尝试过(()-> Int),但是在Playground中调用createMyFunction()时出现“表达式解析为未使用的函数”错误。
func createMyFunction() -> /*RETURN_TYPE_GOES_HERE*/ {
func myFunction () -> Int{
var number = 69
return number
}
}
createMyFunction();
这是正确的方法:
func createMyFunction() -> ( () -> Int ) {
func myFunction () -> Int{
var number = 69
return number
}
return myFunction
}
返回类型为() -> Int
:不带参数的闭包,返回Int
。
在操场上,您会看到该错误,因为createMyFunction
正在返回一个函数,但实际上并没有使用它。 您应该尝试立即执行它:
createMyFunction()()
在这里, createMyFunction()
调用返回另一个函数的函数。 第二组括号调用返回的函数。
当然,如果您不想立即调用返回的函数,可以将其分配给变量:
let myFunc = createMyFunction()
或将其作为参数传递给另一个函数,等等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.