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


    注:extensionkeyword能够为结构体或者类加入计算属性(实例属性或者类属性),还能够使结构体或者类採用特定的协议。

原文地址:https://www.cnblogs.com/lcchuguo/p/4064279.html