Operator

-(_:_:)

Subtracts one value from another and produces their difference.

Declaration

static func - (lhs: Int, rhs: Int) -> Int

Parameters

lhs

A numeric value.

rhs

The value to subtract from lhs.

Discussion

The subtraction operator (-) calculates the difference of its two arguments. For example:

8 - 3                   // 5
-10 - 5                 // -15
100 - -5                // 105
10.5 - 100.0            // -89.5

You cannot use - with arguments of different types. To subtract values of different types, convert one of the values to the other value’s type.

let x: UInt8 = 21
let y: UInt = 1000000
y - UInt(x)             // 999979

The difference of the two arguments must be representable in the arguments’ type. In the following example, the result of 21 - 50 is less than zero, the minimum representable UInt8 value:

x - 50                  // Overflow error

If you want to opt out of overflow checking and wrap the result in case of any overflow, use the overflow subtraction operator (&-).

x &- 50                // 227

Relationships

See Also

Arithmetic

static func + (Int, Int) -> Int

Adds two values and produces their sum.

static func * (Int, Int) -> Int

Multiplies two values and produces their product.

static func / (Int, Int) -> Int

Returns the quotient of dividing the first value by the second.

static func % (Int, Int) -> Int

Returns the remainder of dividing the first value by the second.