Swift

15.Swift学习之枚举

2018-10-16  本文已影响118人  YungFan

枚举介绍

enum SomeEnumeration {
// enumeration definition goes here
}
enum Method{
    case Add
    case Sub
    case Mul
    case Div
}
let selectMethod = Method.Sub
switch (selectMethod){
    case Method.Add:
        print("加法")
    case Method.Sub:
        print("减法")
    case Method.Mul:
        print("除法")
    case Method.Div:
        print("乘法")
    default:
        print("都不是")
}

枚举的定义

enum CompassPoint {
  case North
  case South
  case East
  case West
}
enum CompassPoint {
  case North, South, East,West
}

枚举赋值

enum CompassPoint : Int {
  case North = 1
  case South = 2
  case East = 3
  case West = 4
}

enum CompassPoint : Double {
  case North = 1.0
  case South = 2.0
  case East = 3.0
  case West = 4.0
}

enum CompassPoint : String {
  case North = "North"
  case South = "South"
  case East = "East"
  case West = "West"
}

枚举类型推断

enum Method {
    case Add  
    case Sub   
    case Mul    
    case Div
    func method(){     
    }
}
//已经明确a是一个Method类型 后面访问可以简写
let a:Method = .Add
let selectMethod = Method.Sub
switch (selectMethod){
    case .Add:
        print("加法")
    case .Sub:
        print("减法")
    case .Mul:
        print("除法")
    case .Div:
        print("乘法")
    default:
        print("都不是")
}

枚举的原始值

enum Planet:Int {
    case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
}
let planet:Planet = .Mars
//打印4
print(planet.rawValue)
//p是一个可选型
let p = Planet(rawValue: 3)
if let p = p {
    switch p {
    case .Mercury:
        print("Mercury")
    case .Venus:
        print("Venus")
    case .Earth:
        print("Earth")
    case .Mars:
        print("Mars")
    case .Jupiter:
        print("Jupiter")
    case .Saturn:
        print("Saturn")
    case .Uranus:
        print("Uranus")
    case .Neptune:
        print("Neptune")
    }
}
上一篇下一篇

猜你喜欢

热点阅读