Swift custom operators (2016)

March 01, 2016

In the Swift programming language, custom operators are symbols or characters that you can define and use to perform operations in your code. They can be used to make your code clearer and easier to read by representing complex operations in a more intuitive way.

There are several good reasons why one would use custom operators in their Swift code:

  • Readability: an operator can help make your code more readable by representing complex operations in a more intuitive way. For example, you can define a custom operator to represent a mathematical operation such as the dot product of two vectors.
  • Conciseness: they can help make your code more concise by replacing long, verbose expressions with a single operator. For example, you can define a custom operator to represent a general sequence of operations, such as filtering and allocating an array.
  • Consistency: also they can help you maintain consistency in your code by defining a default way to represent certain operations. This can help make your code easier to understand and maintain, especially if you are working on a large project with multiple contributors. To define a custom operator in Swift, you use the operator keyword and specify the operator's symbol and its rank and associativity. You can then implement the operator as a function, similar to how you would define any other function in Swift.

However, it is important to use them sparingly and only when they significantly improve the readability and maintainability of your code. Overuse of custom operators can make your code harder for other developers to understand.

Here you can find my talk on this topic in a form of a video, you can also check slides and a gist.