A type that can be initialized with an integer literal.

protocol ExpressibleByIntegerLiteral


The standard library integer and floating-point types, such as Int and Double, conform to the ExpressibleByIntegerLiteral protocol. You can initialize a variable or constant of any of these types by assigning an integer literal.

// Type inferred as 'Int'
let cookieCount = 12

// An array of 'Int'
let chipsPerCookie = [21, 22, 25, 23, 24, 19]

// A floating-point value initialized using an integer literal
let redPercentage: Double = 1
// redPercentage == 1.0

Conforming to ExpressibleByIntegerLiteral

To add ExpressibleByIntegerLiteral conformance to your custom type, implement the required initializer.