前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Swift4】(7) 枚举 | 应用

【Swift4】(7) 枚举 | 应用

作者头像
前端修罗场
发布2023-10-07 18:24:54
1310
发布2023-10-07 18:24:54
举报
文章被收录于专栏:Web 技术

枚举基本使用

表述一组值

枚举相当于创建了一种新的数据类型,而类型的取值由里面的case值进行表征

代码语言:javascript
复制
enum CompassPoint { // 大写开头
    case north,west,east,south
}
代码语言:javascript
复制
enum GameEnding {
    case Win
    case Lose
    case Draw
}

var yourScore:Int  = 100
var enemyScore:Int = 100

var thisGameEnding:GameEnding
if yourScore > enemyScore {thisGameEnding = GameEnding.Win}
else if yourScore == enemyScore {thisGameEnding = GameEnding.Draw}
else {thisGameEnding = .Lose}  //可省略GameEnding
switch thisGameEnding
{
case .Win: print("win") 
case .Draw: print("Draw")
case .Lose: print("Lose")
}
代码语言:javascript
复制
enum VowleCharacter:Character {
    case A = "a"
    case E = "e"
    case I = "i"
    case O = "o"
    case U = "u"
}

let vowelA = VowleCharacter.A

var userInputCharacter:Character = "a"
if userInputCharacter == vowelA.rawValue
{
    print("it is an 'a'")   //"it is an 'a'\n"
}else {
    print("it is not an 'a'")
}
灵活使用
代码语言:javascript
复制
enum Barcode {
    case UPCA(Int,Int,Int,Int)
    case QRCode(String)   //将枚举变量QRCode关联为String类型
}

let productCodeA = Barcode.UPCA(4, 102, 306, 8)
let productCodeB = Barcode.QRCode("This is a infomation")

switch productCodeA {
case .UPCA(let numberSystem,let manufacture,let identifier,let check):
    print("UPC-A with value of \(numberSystem), \(manufacture), \(identifier),\(check).")   //"UPC-A with value of 4, 102, 306,8.\n"
case .QRCode(let productCode):
    print("QRCode with value of \(productCode).")
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 灵活使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档