Swift中如何使用 ++, --运算符

(1)Swift的Int类型不在支持自增减运算符,比如 ++aa,a—,a++的方式
(2)如果想要Swift想要支持这种方法,必须重载运算符

extension Int {
    //前+
    static prefix  func ++(num:inout Int) -> Int  {
        num += 1
        return num
    }
    //后缀+
    static postfix  func ++(num:inout Int) -> Int  {
        let temp = num
        num += 1
        return temp
    }
    //前 -
    static prefix  func --(num:inout Int) -> Int  {
        num -= 1
        return num
    }
    //后-
    static postfix  func --(num:inout Int) -> Int  {
        let temp = num
        num -= 1
        return temp
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以通过扩展(Int)来为Int类型添加这些计算型属性。下面是一个实现的例子: ```swift extension Int { var plus100: Int { return self + 100 } var minus10: Int { return self - 10 } var times10: Int { return self * 10 } var divide5: Int { return self / 5 } func calculate(_ operation: (Int, Int) -> Int, with value: Int) -> Int { return operation(self, value) } func add(_ value: Int) -> Int { return self + value } func subtract(_ value: Int) -> Int { return self - value } func multiply(_ value: Int) -> Int { return self * value } func divide(_ value: Int) -> Int { return self / value } } ``` 然后,您就可以像这样使用这些计算型属性和方法: ```swift let number = 42 print(number.plus100) // 输出:142 print(number.minus10) // 输出:32 print(number.times10) // 输出:420 print(number.divide5) // 输出:8 print(number.calculate(+, with: 10)) // 输出:52 print(number.calculate(-, with: 10)) // 输出:32 print(number.calculate(*, with: 10)) // 输出:420 print(number.calculate(/, with: 5)) // 输出:8 print(number.add(10)) // 输出:52 print(number.subtract(10)) // 输出:32 print(number.multiply(10)) // 输出:420 print(number.divide(5)) // 输出:8 ``` 在上面的例子,我们首先为Int类型添加了四个计算型属性,分别是plus100、minus10、times10和divide5。然后,我们又添加了一个calculate方法,该方法接受一个运算符和一个值,并返回运算后的结果。最后,我们又添加了四个方法,分别是add、subtract、multiply和divide,这些方法接受一个值并返回运算后的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值