在看苹果官方的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
注:extension关键字可以为结构体或者类添加计算属性(实例属性或者类属性),还可以使结构体或者类采用特定的协议。