我對編程和 Swift 非常陌生。為什么 getDetails 函式底部的簡單 print(getDetails()) 不足以獲得輸出?它總是回傳一個錯誤“在函式宣告的主體中應該有‘{’”。
這是代碼...
struct Car {
let make:String = "MINI"
let model:String = "COOPER"
let year:String = "2015"
var details:String {
return year " " make " " model
}
func getDetails() -> String {
return details
}
print(getDetails())
}
uj5u.com熱心網友回復:
在structor的頂層class,您只能定義函式和屬性。例如,您的let make:String = "MINI"orfunc getDetails() -> String { ... }是有效的頂級宣告。
但是,不允許將未定義函式或屬性(如print(""))的命令式代碼放置在此型別別的頂層。
如果你在 Swift 的操場上,你可以將命令式代碼放在檔案的頂層(不是結構體或類)。所以,這將是有效的:
struct Car {
let make:String = "MINI"
let model:String = "COOPER"
let year:String = "2015"
var details:String {
return year " " make " " model
}
func getDetails() -> String {
return details
}
}
let myCar = Car()
print(myCar.getDetails())
由于一切getDetails都是 return details,這有點多余,所以我們可以重構為:
struct Car {
let make:String = "MINI"
let model:String = "COOPER"
let year:String = "2015"
var details:String {
return year " " make " " model
}
}
let myCar = Car()
print(myCar.details)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/322517.html
