溫馨提示×

Swift結(jié)構(gòu)體如何初始化

小樊
81
2024-10-29 10:21:37
欄目: 編程語言

在Swift中,結(jié)構(gòu)體可以通過以下幾種方式進(jìn)行初始化:

  1. 使用默認(rè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
  1. 使用構(gòu)造函數(shù)初始化:
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
  1. 使用解構(gòu)初始化:
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è)元素。

0