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 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告