Swift程式:根據字串值查詢列舉


列舉(enum)是一種使用者自定義的資料型別,它包含一組相關的數值。它使用`enum`關鍵字定義。它也稱為列舉情況(enum case),因為它使用`case`關鍵字宣告其內部的值。在Swift中,允許我們透過字串值建立列舉。

語法

enum nameOfEnum: Type {
   case value1
   case value2
   case value3
}
Let enumVariable = value

這裡,`nameOfEnum`表示列舉的名稱,`value1`、`value2`等是在列舉中定義的值,`enumVariable`是列舉型別的變數,只能儲存給定列舉中存在的值。

演算法

  • 步驟1 - 建立一個字串型別的列舉。

  • 步驟2 - 使用`case`語句為列舉賦值。

  • 步驟3 - 現在建立一個函式來從列舉中獲取值。

  • 步驟4 - 建立一個帶有值的變數。

  • 步驟5 - 透過呼叫上述函式檢查該值是否存在於變數中。

  • 步驟6 - 顯示輸出

示例1

在下面的Swift程式中,我們將根據字串值查詢列舉。因此,我們首先將建立一個包含5個值的字串型別列舉。然後,我們建立一個列舉型別的變數,然後使用`ProLanguages.Java`將列舉值賦給變數並列印輸出。

import Foundation
import Glibc

enum ProLanguages: String {
   case Swift
   case Java
   case Python
   case Perl
   case CSharp
}

// Create variable of enum
let resValue : ProLanguages

// Assigning value to the variable
resValue = ProLanguages.Java

print("Best programming Language is:", resValue)

輸出

Best programming Language is: Java

示例2

在下面的Swift程式中,我們將根據字串值查詢列舉。因此,我們首先將建立一個包含6個值的字串型別列舉。然後建立一個函式,該函式接受一個輸入字串,並嘗試使用`rawValue`初始化器將其與給定列舉中存在的case匹配。如果在給定列舉中找到匹配項,則返回該值,否則返回`nil`。

import Foundation
import Glibc

enum geomertyBox: String {
   case Pencil
   case Pen
   case Sharpener
   case Eraser
   case Glue
}

func getElements(from str: String) -> geomertyBox? {
   return geomertyBox(rawValue: str)
}

let inputItem = "Pen"
if let result = getElements(from: inputItem) {
   print("Item found in the geomertyBox: \(result.rawValue)")
} else {
   print("Try again!!")
}

輸出

Item found in the geomertyBox: Pen

結論

這就是我們如何根據字串值查詢列舉的方法。在列舉中,您可以根據需要宣告任意數量的值。此外,您可以為列舉值分配原始值。您還可以使用for-in迴圈遍歷列舉。它允許您以型別安全的方式使用值。當開發者有多個編碼選項時,通常會使用它。

更新於:2023年6月14日

438 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.