protocol ExpressibleByIntegerLiteral

A type that can be initialized with an integer literal.

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.

Inheritance View Protocol Hierarchy →
Associated Types

A type that represents an integer literal.

The standard library integer and floating-point types are all valid types for IntegerLiteralType.

Import import Swift



Creates an instance initialized to the specified integer value.

Do not call this initializer directly. Instead, initialize a variable or constant using an integer literal. For example:

let x = 23

In this example, the assignment to the x constant calls this integer literal initializer behind the scenes.

value: The value to create.


init(integerLiteral value: Self.IntegerLiteralType)

Default Implementations


Create an instance initialized to value.


init(integerLiteral value: Self)