[置顶] Swift——(一)为Swift内置类型添加属性

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

你可能感兴趣的:(ios,swift,extension)