我对编程和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())
}
2条答案
按热度按时间x3naxklr1#
在
struct
或class
的顶层,只允许定义函数和属性。例如,let make:String = "MINI"
或func getDetails() -> String { ... }
是有效的顶层声明。但是,不允许将不定义函数或属性(如
print("")
)的命令式代码放在这样的类型的顶层。如果你是在Swift游戏场,你可以把命令式代码放在文件的顶层(而不是结构体或类的顶层),所以,这是有效的:
由于
getDetails
只返回details
,所以这有点多余,所以我们可以重构为:c90pui9n2#