Swift 扩展

//扩展
//在现有类和结构体的基础上,扩展新的功能
//计算属性
extension Double {
    var km: Double {
        return self*1000
    }
    var m: Double {
        return self
    }
    var cm: Double {
        return self / 100
    }
    var mm: Double {
        return self / 1000
    }
    var ft: Double {
        return self / 3.28
    }
}
let one = 25.4.mm
print("one meters--\(one)")
let three = 3.ft
print("three meter -- \(three)")
let am = 40.km + 100.m
print("am -- \(am)")
//使用结构体
struct Size {
    var width = 0.0 , height = 0.0
}
struct Point {
    var x = 0.0 , y = 0.0
}
struct Rect {
    var origin = Point()
    var size = Size()
}
extension Rect {
    init (center: Point, size: Size) {
        let originX = center.x - (size.width / 2)
        let originY = center.y - (size.height / 2)
        self . init(origin: Point (x: originX, y: originY), size:size)
    }
}
let cen = Rect (center: Point (x: 4.0, y: 4.0), size: Size (width: 3.0, height:3.0))
print(cen)
//方法扩展
extension Int {
    func message() -> String {
        var message = "";
        switch self {
        case 0:
            message = "OK"
        case -1:
            message = "Fail"
        default:
            message = "NO"
        }
        return message
    }
}
print((-1).message())
print(3.message())
print(0.message())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值