Generics
Type Constraints
Constraints let generic code require capabilities such as comparison.
Require comparable values
type_constraints.swift
func larger<T: Comparable>(_ left: T, _ right: T) -> T {
return left >= right ? left : right
}
let leftScore =
let rightScore = 18
let winner = larger(leftScore, rightScore)
let summary = "winner=\(winner)"
print(summary)
func larger<T: Comparable>(_ left: T, _ right: T) -> T {
return left >= right ? left : right
}
let leftScore =
let rightScore = 18
let winner = larger(leftScore, rightScore)
let summary = "winner=\(winner)"
print(summary)
func larger<T: Comparable>(_ left: T, _ right: T) -> T {
return left >= right ? left : right
}
let leftScore =
let rightScore = 18
let winner = larger(leftScore, rightScore)
let summary = "winner=\(winner)"
print(summary)
type constraint
A constrained type parameter can use operations promised by the protocol constraint.