zoukankan      html  css  js  c++  java
  • Swift学习笔记(10)--枚举

    1.定义语法:

    enum SomeEnumeration {
      // enumeration definition goes here
    }

    2.使用

    enum CompassPoint {
        case North
        case South
        case East
        case West
    }
    
    var directionToHead = CompassPoint.West
    
    directionToHead = .South
    switch directionToHead {
    case .North:
        println("Lots of planets have a north")
    case .South:
        println("Watch out for penguins")
    case .East:
        println("Where the sun rises")
    default:
        println("Nothing")
    }
    

      注:1.变量一个次赋值为枚举类型以后,第二次赋值可以使用点语法省略,即.South

        2.switch中必须覆盖所有的枚举类型,如果太多,可使用default

    3.相关值(Associated Values)

    swift语句中可以储存任何类型的相关值

    enum Chazidian {
        case Pianpang(String, String)
        case Zimu(String)
        case Bihua(Int)
    }
    
    var c1 = Chazidian.Pianpang("一","田")
    var c2 = Chazidian.Zimu("a")
    var c3 = Chazidian.Bihua(3)
    
    switch c3 {
    case .Pianpang(let s1, let s2):
        println("偏旁:(s1),(s2)")
    case .Zimu(let s3):
        println("字母:(s3)")
    case .Bihua(let s4):
        println("笔画:(s4)")
    }   //笔画:3
    

      

    3.默认值

    swift中枚举的默认值需要自己手动添加:

    //方式1:对每一个做赋值
    enum ASCIIControlCharacter: Character {
        case Tab = "	"
        case LineFeed = "
    "
        case CarriageReturn = "
    "
    }
    
    //方式2:自动递增
    enum Planet: Int {
        case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
    }
    

      

  • 相关阅读:
    AGC041
    二分图 学习笔记
    区间DP 学习笔记
    3月21日考试 题解(数据结构+区间DP+贪心)
    Tarjan 做题总结
    3月15日考试 题解(数学+背包+线段树)
    差分约束 学习笔记
    Tarjan算法 学习笔记
    拓扑排序 学习笔记
    并查集 学习笔记
  • 原文地址:https://www.cnblogs.com/anywherego/p/3792995.html
Copyright © 2011-2022 走看看