在Swift中,結(jié)構(gòu)體可以通過以下幾種方式進(jìn)行初始化:
struct MyStruct {
var myVar: Int
init(myVar: Int = 0) {
self.myVar = myVar
}
}
let myStruct1 = MyStruct() // 使用默認(rèn)值初始化,myVar 為 0
let myStruct2 = MyStruct(myVar: 5) // 指定值初始化,myVar 為 5
struct MyStruct {
var myVar: Int
init(myVar: Int) {
self.myVar = myVar
}
init() {
self(myVar: 0)
}
}
let myStruct1 = MyStruct() // 使用默認(rèn)構(gòu)造函數(shù)初始化,myVar 為 0
let myStruct2 = MyStruct(myVar: 5) // 指定構(gòu)造函數(shù)初始化,myVar 為 5
struct MyStruct {
let myVar: Int
init(myVar: Int) {
self.myVar = myVar
}
}
let tuple = (42,)
let myStruct = MyStruct(myVar: tuple.0) // 使用解構(gòu)初始化,myVar 為 42
注意:解構(gòu)初始化僅適用于包含元組的結(jié)構(gòu)體,且元組中只有一個(gè)元素。