Swift中的算术运算符

如果您要开发的应用程序需要进行大量的数学计算,则可能希望能够在错误扩散到各处之前捕获错误,例如被零除和整数类型溢出。

浮点错误包括被零除(产生±infinity )和未定义( NaN )表达式,例如sin(Double.infinity) 。 这些无声地失败了。 整数类型的运算符错误仅限于溢出,这会使您的代码大声崩溃。

Swift提供了方便的整数算术运算符,允许溢出; &+&−&*以及更多有用的方法,例如addWithOverflow(_,_) 。 我利用这些方法来定义抛出运算符&& +&&-&& *&& /&&%&&? 。 用法如下。

  / * 
*示例。
* /
  //产生15.27543444817377 
func x()throws-> Double {
返回尝试(12.5 && + 2.3) && /(&&?sin(3.1)&& + &&? atan2(4,3))
}
  //引发ArithmeticOperationError(.infinity,.division) 
func y()throws-> Double {
让y =试试(1.0 && + 1.0) && /(&&?sin(M_PI_2)&&-1.0)
}

完整的代码在前。

如果您觉得本文有用或有趣,请推荐💚并考虑加入下面的讨论🙂!