说你有这段代码:
public class UserSession
{
private static UserSession sUserSession;
/*
The rest of your class declarations...
*/
public get(){
if (sUserSession == null)
{
sUserSession = new UserSession();
}
return sUserSession;
}
}
是否可以注释闭包的类型(对于像这样的多表达式闭包所必需的),同时仍然可以使用隐式闭包参数?类似的东西:
let fib = sequence(state: (0, 1), next: { (state) -> Int in
state = (state.1, state.0 + state.1)
return state.0
})
答案 0 :(得分:1)
研究Swift Grammar,特别是 closure-expression 的语法,我们可以看到 closure-parameter-clause 是闭合签名
因此答案是否定的。如果要指定 function-result ,还必须指定参数。
作为一种变通方法,您可以通过推断来指定结果类型,例如: :
let fib: Int = ...