Type constraints

It is great that our function works with any type, but what if our API user tries to use the calculate function on types that cannot be used in arithmetic calculations?

To mitigate this problem, we can use type constraints. Using type constraints, we will be able to enforce the use of a certain type. Type constraints specify that a type parameter must inherit from a specific class or conform to a particular protocol or protocol composition. Collections are examples of type constraints that we are already familiar with in the Swift programming language. Collections are Generics in Swift, so we can have arrays of Int, Double, String, and so on.

Unlike Objective-C, where we could have different types in a collection, in Swift ...

Get Swift Functional Programming - Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.