<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Swift 枚舉 枚舉簡單的說也是一種數據類型,只不過是這種數據類型只包含自定義的特定數據,它是一組有共同特性的數據的集合。 Swift 的枚舉類似于 Objective C 和 C 的結構,枚舉的功能為: * 它聲明在類中,可以通過實例化類來訪問它的值。 * 枚舉也可以定義構造函數(initializers)來提供一個初始成員值;可以在原始的實現基礎上擴展它們的功能。 * 可以遵守協議(protocols)來提供標準的功能。 ### 語法 Swift 中使用 enum 關鍵詞來創建枚舉并且把它們的整個定義放在一對大括號內: ``` enum enumname { // 枚舉定義放在這里 } ``` 例如我們定義以下表示星期的枚舉: ``` import Cocoa // 定義枚舉 enum DaysofaWeek { case Sunday case Monday case TUESDAY case WEDNESDAY case THURSDAY case FRIDAY case Saturday } var weekDay = DaysofaWeek.THURSDAY weekDay = .THURSDAY switch weekDay { case .Sunday: print("星期天") case .Monday: print("星期一") case .TUESDAY: print("星期二") case .WEDNESDAY: print("星期三") case .THURSDAY: print("星期四") case .FRIDAY: print("星期五") case .Saturday: print("星期六") } ``` 以上程序執行輸出結果為: ``` 星期四 ``` 枚舉中定義的值(如 `Sunday`,`Monday`,`……`和`Saturday`)是這個枚舉的**成員值**(或**成員**)。`case`關鍵詞表示一行新的成員值將被定義。 > 注意: 和 C 和 Objective-C 不同,Swift 的枚舉成員在被創建時不會被賦予一個默認的整型值。在上面的`DaysofaWeek`例子中,`Sunday`,`Monday`,`……`和`Saturday`不會隱式地賦值為`0`,`1`,`……`和`6`。相反,這些枚舉成員本身就有完備的值,這些值是已經明確定義好的`DaysofaWeek`類型。 ``` var weekDay = DaysofaWeek.THURSDAY ``` `weekDay`的類型可以在它被`DaysofaWeek`的一個可能值初始化時推斷出來。一旦`weekDay`被聲明為一個`DaysofaWeek`,你可以使用一個縮寫語法(.)將其設置為另一個`DaysofaWeek`的值: ``` var weekDay = .THURSDAY ``` 當`weekDay`的類型已知時,再次為其賦值可以省略枚舉名。使用顯式類型的枚舉值可以讓代碼具有更好的可讀性。 枚舉可分為相關值與原始值。 ### 相關值與原始值的區別 | 相關值 | 原始值 | | --- | --- | | 不同數據類型 | 相同數據類型 | | 實例: enum {10,0.8,"Hello"} | 實例: enum {10,35,50} | | 值的創建基于常量或變量 | 預先填充的值 | | 相關值是當你在創建一個基于枚舉成員的新常量或變量時才會被設置,并且每次當你這么做得時候,它的值可以是不同的。 | 原始值始終是相同的 | ## 相關值 以下實例中我們定義一個名為 Student 的枚舉類型,它可以是 Name 的一個相關值(Int,Int,Int,Int),或者是 Mark 的一個字符串類型(String)相關值。 ``` import Cocoa enum Student{ case Name(String) case Mark(Int,Int,Int) } var studDetails = Student.Name("Runoob") var studMarks = Student.Mark(98,97,95) switch studMarks { case .Name(let studName): print("學生的名字是: \(studName)。") case .Mark(let Mark1, let Mark2, let Mark3): print("學生的成績是: \(Mark1),\(Mark2),\(Mark3)。") } ``` 以上程序執行輸出結果為: ``` 學生的成績是: 98,97,95。 ``` ## 原始值 原始值可以是字符串,字符,或者任何整型值或浮點型值。每個原始值在它的枚舉聲明中必須是唯一的。 在原始值為整數的枚舉時,不需要顯式的為每一個成員賦值,Swift會自動為你賦值。 ``` import Cocoa enum Month: Int { case January = 1, February, March, April, May, June, July, August, September, October, November, December } let yearMonth = Month.May.rawValue print("數字月份為: \(yearMonth)。") ``` 以上程序執行輸出結果為: ``` 數字月份為: 5。 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看