Initializers prepare a new instance by assigning all required stored properties.

Build an instance

initializers.swift
struct Player {
    let name: String
    let level: Int

    init(name: String, startingLevel: Int) {
        self.name = name
        self.level = startingLevel + 1
    }
}

let startingLevel = 
let player = Player(name: "Mira", startingLevel: startingLevel)

print("name=\(player.name)")
print("level=\(player.level)")
struct Player {
    let name: String
    let level: Int

    init(name: String, startingLevel: Int) {
        self.name = name
        self.level = startingLevel + 1
    }
}

let startingLevel = 
let player = Player(name: "Mira", startingLevel: startingLevel)

print("name=\(player.name)")
print("level=\(player.level)")
struct Player {
    let name: String
    let level: Int

    init(name: String, startingLevel: Int) {
        self.name = name
        self.level = startingLevel + 1
    }
}

let startingLevel = 
let player = Player(name: "Mira", startingLevel: startingLevel)

print("name=\(player.name)")
print("level=\(player.level)")
init An initializer can accept parameters, transform them, and store the final values on the new instance.