在Swift中,结构体可以通过以下几种方式进行初始化:
struct MyStruct {
var myVar: Int
init(myVar: Int = 0) {
self.myVar = myVar
}
}
let myStruct1 = MyStruct() // 使用默认值初始化,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() // 使用默认构造函数初始化,myVar 为 0
let myStruct2 = MyStruct(myVar: 5) // 指定构造函数初始化,myVar 为 5
struct MyStruct {
let myVar: Int
init(myVar: Int) {
self.myVar = myVar
}
}
let tuple = (42,)
let myStruct = MyStruct(myVar: tuple.0) // 使用解构初始化,myVar 为 42
注意:解构初始化仅适用于包含元组的结构体,且元组中只有一个元素。