美文网首页
初级_重载运算符(Swift)

初级_重载运算符(Swift)

作者: 求长生 | 来源:发表于2016-11-15 18:06 被阅读16次

overloading 重载 / prefix 前缀 / infix 插入中间位 / postfix 后缀

使用重载运算符对十进制计算方法的使用。

新的操作符需要用operator关键字声明在全局变量中,可以用prefix,infix,prostfix声明。

**e.g. **
infix operator + {}
infix 表示定义一个中位操作符。
associativity 定义了结合率 ,在多个同类的操作符出现时计算的顺序,加减法都是left,不会有多个同类操作符出现时可设置为none。
precedence 运算的优先级,越高的优先级越先进行运算。

**e.g. **

infix operator + {
 associativity none
 precedence 140
} 

使用重载运算符重载十进制方法

infixoperator +{}
infixoperator -{}
infixoperator *{}
infixoperator /{}

public func + (left: NSDecimalNumber, right: NSDecimalNumber) -> NSDecimalNumber{
    let result = left.decimalNumberByAdding(right)
    return result
}
public func - (left: NSDecimalNumber, right: NSDecimalNumber) -> NSDecimalNumber{
    let result = left.decimalNumberBySubtracting(right)
    return result
}
public func * (left: NSDecimalNumber, right: NSDecimalNumber) -> NSDecimalNumber{
    let result = left.decimalNumberByMultiplyingBy(right)
    return result
}
public func / (left: NSDecimalNumber, right: NSDecimalNumber) -> NSDecimalNumber{
    let result = left.decimalNumberByDividingBy(right)
    return result
}

相关文章

  • 初级_重载运算符(Swift)

    overloading 重载 / prefix 前缀 / infix 插入中间位 / postfix 后...

  • swift重载或自定义操作符

    重载运算符 在Swift中,类和结构体是可以提供现有运算符的自定义实现,也就是重载现有运算符。三元运算符(a?b:...

  • 每天学一点Swift---- 运算符函数

    一.运算符重载 1. Swift的运算符提供了良好的可扩展性,Swift不仅允许开发者重新定义已有的运算符(运算符...

  • swift 应用

    //swift 暴露 objc 调用 //swift 调用 objc //自定义表达式模式 (重载运算符 ~=,自...

  • Swift - 运算符重载

    一、定义 在Swift的官方文档中运算符重载叫做运算符函数(Operator Functions)。简单来讲主要实...

  • 运算符重载及其他约定

    7.1 重载算术运算符 重载二元算术运算符 重载复合赋值运算符 重载一元运算符 重载比较运算符 等号运算符:‘eq...

  • C++ 部分运算符重载

    可重载的运算符 不可重载的运算符和符号 重载运算符为类的成员函数 重载运算符为友元函数 重载赋值运算符 重载流插入...

  • 2019-07-11 运算符的重载

    运算符的重载 重载运算符 (“::”,“.*”,“.”,“?:”)不能被重载。 重载运算符时,不能改变其本质,如不...

  • Swift重载运算符

    [TOC] Swift重载运算符 运算符重载允许你改变现在的作用在特定在的结构体和类上的已经存在的操作符的工作方式...

  • swift中的运算符重载

    在Swift的官方文档中运算符重载叫做运算符函数(Operator Functions),顾名思义就是对已经有的运...

网友评论

      本文标题:初级_重载运算符(Swift)

      本文链接:https://www.haomeiwen.com/subject/ugllpttx.html