下面的代碼有以下錯誤:Missing return in a function expected to return 'String'
爲什麼它不能返回到其他地方?
var description: String {
get{
if(pending == nil){
return "a"
}
else{
if let op = internalProgram.last as? String{
if operations[op] != nil {
return "b"
}
}
else {
return "c"
}
}
}
}
但是,如果我刪除最後一個else
和簡單地離開return "c"
,它工作正常。
var description: String {
get{
if(pending == nil){
return "a"
}
else{
if let op = internalProgram.last as? String{
if operations[op] != nil {
return "b"
}
}
return "c"
}
}
}
爲什麼第一個代碼不工作?他們有沒有相同的功能?兩者都不會達到最後的回報聲明?在第一個代碼中,如果其他所有內容都不起作用,則最後一個return語句將被執行。
那麼,如果'op [op]'是'nil'呢?第一個代碼不會返回任何東西。 – JJJ
@JJJ該死的,我很蠢。謝謝 –