在看苹果官方的Swift Language的时候,遇到实验:Write an extension for the Double type that add an absoluteValue property. 在直接使用extension加入了属性的时候,出现错误(当然这时候代码还没写完,PlayGround就是好用)。
extension Double { // add absoluteValue property to Double type by using extension.
var absoluteValue:Double {
}
}
结果报错,说:'var' declaration without getter/setter method not allowed here
@Author: twlkyao转载或者引用请保留此行。
依据错误原因,加入getter和setter方法,完美解决这个问题,代码例如以下:
extension Double { // add absoluteValue property to Double type by using extension.
var absoluteValue:Double {
get{ // the get could be omitted.
if self > 0 {
return self
} else {
return -self
}
}
}
} var doubleNum = -2.2
doubleNum.absoluteValue
注:extensionkeyword能够为结构体或者类加入计算属性(实例属性或者类属性),还能够使结构体或者类採用特定的协议。