7.2 Swift中switch匹配枚举

来源:互联网 发布:知乎 旧版 安装包 编辑:程序博客网 时间:2024/06/06 02:00

        /**

         switch匹配枚举

         

         */

        

        

        enum Method {

            case Add

            case Sub

            case Mul

            case Div

        }

        

        

        

        func chooseMethod(op:Method) -> (Double,Double)-> Double {

            

            switch op  {

            case .Add:

                func add(a:Double, b:Double) ->Double {

                    return a + b

                }

                returnadd

            case .Sub:

                // 返回一个闭包

                return { (a:Double, b: Double) ->Double inreturn a - b }

            case .Mul:

                // 返回一个闭包,省略闭包类型

                return {return $0 * $1 }

            case .Div:

                // 返回一个闭包,return也省略掉

                return { $0 / $1 }

                

            default:

                return { $0 + $1}

            }

            

        }


        

        let val =chooseMethod(op: .Add)(30,5)

        print(val)

        


0 0
原创粉丝点击