Swift结构基础

示例

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

这定义了一个Repository具有三个存储属性的结构,一个整数identifier,一个字符串name和一个可选字符串description。该identifier和name是常数,因为他们一直在使用的声明let-关键词。一旦在初始化期间设置,就无法修改它们。描述是一个变量。对其进行修改将更新结构的值。

如果结构类型未定义任何自己的自定义初始化程序,则它们会自动接收一个成员初始化程序。即使该结构具有不具有默认值的存储属性,该结构也会接收一个成员初始化程序。

Repository包含三个存储的属性,这些属性仅description具有默认值(nil)。此外,它没有定义自己的初始化程序,因此它免费接收成员式初始化程序:

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