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.


Associated Types

associatedtype IntegerLiteralType

A type that represents an integer literal.



init(integerLiteral: Self.IntegerLiteralType)

Creates an instance initialized to the specified integer value.

Required. Default implementation provided.

See Also

Value Literals

protocol ExpressibleByFloatLiteral

A type that can be initialized with a floating-point literal.

protocol ExpressibleByBooleanLiteral

A type that can be initialized with the Boolean literals true and false.

protocol ExpressibleByNilLiteral

A type that can be initialized using the nil literal, nil.