![](/img/trans.png)
[英]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.