協議
Additive
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+
相關用法
- Swift AdditiveArithmetic +(_:)用法及代碼示例
- Swift AdditiveArithmetic +(_:_:)用法及代碼示例
- Swift AdditiveArithmetic -(_:_:)用法及代碼示例
- Swift Array enumerated()用法及代碼示例
- Swift AnySequence elementsEqual(_:)用法及代碼示例
- Swift ArraySlice starts(with:)用法及代碼示例
- Swift ArraySlice reduce(_:_:)用法及代碼示例
- Swift Array allSatisfy(_:)用法及代碼示例
- Swift AnyCollection min()用法及代碼示例
- Swift AsyncThrowingFlatMapSequence min()用法及代碼示例
- Swift AnyBidirectionalCollection elementsEqual(_:)用法及代碼示例
- Swift AnyRandomAccessCollection randomElement(using:)用法及代碼示例
- Swift AsyncPrefixWhileSequence reduce(_:_:)用法及代碼示例
- Swift AsyncThrowingMapSequence reduce(_:_:)用法及代碼示例
- Swift AnyBidirectionalCollection lexicographicallyPrecedes(_:)用法及代碼示例
- Swift AnyHashable ==(_:_:)用法及代碼示例
- Swift AsyncDropWhileSequence allSatisfy(_:)用法及代碼示例
- Swift AsyncSequence dropFirst(_:)用法及代碼示例
- Swift AnyBidirectionalCollection split(separator:maxSplits:omittingEmptySubsequences:)用法及代碼示例
- Swift AnyRandomAccessCollection first(where:)用法及代碼示例
- Swift AnyBidirectionalCollection sorted()用法及代碼示例
- Swift AsyncDropFirstSequence filter(_:)用法及代碼示例
- Swift AsyncSequence reduce(_:_:)用法及代碼示例
- Swift AsyncFlatMapSequence min()用法及代碼示例
- Swift AsyncThrowingPrefixWhileSequence drop(while:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 AdditiveArithmetic。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。