結構基礎知識

struct Repository {
    let identifier: Int
    let name: String
    var description: String?
}

這定義了一個 Repository 結構,它有三個儲存的屬性,一個整數 identifier,一個字串 name 和一個可選的字串 descriptionidentifiername 是常量,因為它們是使用 let-keyword 宣告的。在初始化期間設定後,無法修改它們。描述是一個變數。修改它會更新結構的值。

如果結構型別沒有定義任何自己的自定義初始值設定項,則它們會自動接收成員初始值設定項。即使結構儲存了沒有預設值的屬性,該結構也會接收成員初始值設定項。

Repository 包含三個儲存的屬性,其中只有 description 具有預設值(nil)。此外,它沒有定義自己的初始化器,因此它免費接收成員初始化器:

let newRepository = Repository(identifier: 0, name: "New Repository", description: "Brand New Repository")