温馨提示×

Swift结构体如何初始化

小樊
82
2024-10-29 10:21:37
栏目: 编程语言

在Swift中,结构体可以通过以下几种方式进行初始化:

  1. 使用默认值初始化:
struct MyStruct {
    var myVar: Int
    
    init(myVar: Int = 0) {
        self.myVar = myVar
    }
}

let myStruct1 = MyStruct() // 使用默认值初始化,myVar 为 0
let myStruct2 = MyStruct(myVar: 5) // 指定值初始化,myVar 为 5
  1. 使用构造函数初始化:
struct MyStruct {
    var myVar: Int
    
    init(myVar: Int) {
        self.myVar = myVar
    }
    
    init() {
        self(myVar: 0)
    }
}

let myStruct1 = MyStruct() // 使用默认构造函数初始化,myVar 为 0
let myStruct2 = MyStruct(myVar: 5) // 指定构造函数初始化,myVar 为 5
  1. 使用解构初始化:
struct MyStruct {
    let myVar: Int
    
    init(myVar: Int) {
        self.myVar = myVar
    }
}

let tuple = (42,)
let myStruct = MyStruct(myVar: tuple.0) // 使用解构初始化,myVar 为 42

注意:解构初始化仅适用于包含元组的结构体,且元组中只有一个元素。

0