swift从入门到精通04-枚举

304 阅读1分钟

1.枚举的基本用法

例子:

enum Direction {
    case east
    case south
    case west
    case north
}

enum NewDirection {
    case east,south,west,north
}

var direciton = Direction.east
direciton = .west

2.关联值

枚举的成员值和其他类型的值关联存储在一起。

例子:

enum Number {
    case numer(Int)
    case sum(Int,Int)
}

var num = Number.sum(2, 3)

switch num {
case let .numer(num1):
    print("\(num1)")
case let .sum(num1, num2):
    print("\(num1)+\(num2)")
}

3.原始值

我们可以在枚举中给每个枚举成员进行赋值。

enum Seaion:Int {
    case spring = 1
    case summer
    case autumn = 3
    case winter = 5
}

var seaion = Seaion.winter.rawValue
print("seaion =  \(seaion)")

4.递归枚举

枚举成员里面有该枚举,则为递归枚举。我们用indirect 修饰。

例子:

indirect enum Test {
    case number(Int)
    case sum(Test,Test)
}

var two = Test.number(2)
var five = Test.number(5)
var sum = Test.sum(two, five)

func sum(test:Test) -> Int{
    switch test {
    case let .number(num):
        return num
    case let .sum(test1, test2):
        return sum(test: test1) + sum(test: test2)
    }
}


上一篇文章:swift从入门到精通03-函数

下一遍文章:swift从入门到精通05-可选项