当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift AdditiveArithmetic用法及代码示例


协议

AdditiveArithmetic

具有支持加法和减法的值的类型。

声明

protocol AdditiveArithmetic : Equatable

概述

AdditiveArithmetic 协议为标量值(例如整数和浮点数或向量)的加法运算提供了合适的基础。您可以使用AdditiveArithmetic 协议作为泛型约束来编写对标准库中的任何数字类型进行操作的泛型方法。

以下代码声明了一个方法,该方法计算具有AdditiveArithmetic 元素的任何序列的总数。


extension Sequence where Element: AdditiveArithmetic {
    func sum() -> Element {
        return reduce(.zero, +)
    }
}

sum() 方法现在可用于任何具有符合 AdditiveArithmetic 的值的序列,无论它是 Double 的数组还是 Int 的范围。


let arraySum = [1.1, 2.2, 3.3, 4.4, 5.5].sum()
// arraySum == 16.5


let rangeSum = (1..<10).sum()
// rangeSum == 45

符合AdditiveArithmetic 协议

要将 AdditiveArithmetic 协议一致性添加到您自己的自定义类型,请实现所需的运算符,并提供静态 zero 属性。

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 AdditiveArithmetic。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。