7.6 Swift中switch提取枚举关联值

来源:互联网 发布:php app 编辑:程序博客网 时间:2024/06/03 23:40

        /**

         枚举相关值

         可以让枚举值对应的原始值不是唯一的,而是一个变量.

         每一个枚举可以是在某种模式下的一些特定值

         

         后面加一个元组

         */

        

        enum LineSegmentDescriptor {

            case StartAndEndPattern(start:Double, end:Double)

            case StartAndLengthPattern(start:Double, length:Double)

        }

        

        

        var lsd =LineSegmentDescriptor.StartAndLengthPattern(start:0.0, length: 100.0)

        lsd = LineSegmentDescriptor.StartAndEndPattern(start:0.0, end: 50.0)

        

        print("--------->")

        print(lsd)

        

        

        //        利用switch提取枚举关联值

        

        switch lsd {

        caselet .StartAndEndPattern(s, e):

            print("start =\(s) end =\(e)")

        case .StartAndLengthPattern(let s, let l):

            print("start =\(s) lenght =\(l)")

        }

        // 输出结果: start = 0.0 end = 50.0

        

0 0