ExpressibleByIntegerLiteral

protocol ExpressibleByIntegerLiteral

A type that can be initialized with an integer literal.

Conforming Types Double, Float, Float80, Numeric
Associated Types
associatedtype IntegerLiteralType

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

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.

Initializers

init init(integerLiteral:) Required

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.

  • Parameter value: The value to create.

Declaration

init(integerLiteral value: Self.IntegerLiteralType)