當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。