Operator

*(_:_:)

Multiplies two values and produces their product.

Declaration

static func * (lhs: UInt64, rhs: UInt64) -> UInt64

Parameters

lhs

The first value to multiply.

rhs

The second value to multiply.

Discussion

The multiplication operator (*) calculates the product of its two arguments. For example:

2 * 3                   // 6
100 * 21                // 2100
-10 * 15                // -150
3.5 * 2.25              // 7.875

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

let x: Int8 = 21
let y: Int = 1000000
Int(x) * y              // 21000000

The product of the two arguments must be representable in the arguments’ type. In the following example, the result of 21 * 21 is greater than the maximum representable Int8 value:

x * 21                  // Overflow error

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

x &* 21                // -115

Relationships

From Protocol