zoukankan      html  css  js  c++  java
  • Swift笔记3

    // Playground - noun: a place where people can play

    import Cocoa

    var str = "Hello, playground"

    var dic:Dictionary<Int,String>=[1:"Name",2:"Age"]

    for (id,name) in dic{

        println("id:(id) name:(name)")

    }

    // 泛型

    //func isEquals<T>(a: T,b: T)->Bool{

    //    if(a == b ){

    //    return true

    //    }

    //    return false

    //}

    //var resultIsEquals = isEquals(1, 1)

    //println(resultIsEquals)

    // 将函数作为返回类型

    func calculate(por:String)->(Int,Int)->Int{

        

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

           return a + b

        }

        func sub(a:Int,b:Int)->Int{

            return a-b

        }

        var result:(Int,Int)->Int

        

        switch (por){

            case "+":

            result = add

            case "-":

            result = sub

        default:

            result=add

        }

        return result

    }

    // 闭包改造

    func calulateFunc(pro:String)->(Int,Int)->Int{

        

        var result:(Int,Int)->Int

        switch (pro){

        case "+" :

            result = {(a:Int,b:Int)->Int in

                return  a + b

            }

            // 简写 方法

            result = { a, b in return a + b}

            // 简化 参数名称 $0 表示第一个参数,$1表示第二个参数,以此类推

            result={$0 + $1}

            

            

        default :

            result = {(a:Int,b:Int)->Int in

                return a - b

            }

        }

        return result

    }

    // 调用方法

    var f1=calulateFunc("+")

    println("jin (f1(10,6))")

    /*

    // 闭包函数 类似于 C# Lambda表达式

    // 闭包函数 定义:字包含的匿名函数代码块,可以作为表达式、函数参数、函数返回值,闭包表达式 的运算结果 是一种函数类型

        {(参数列表)-> 返回类型 in  

            语句组

        }

    */

  • 相关阅读:
    Oracle中的rownum
    关于Oracle12c中无scott用户的问题
    docker 1.13 是什么版本?
    ImportError: cannot import name 'SQLALchemy'
    mac配置iterm2,iterm2使用方法
    docker 时区
    jupyter 500 : Internal Server Error
    sublime conda 切换环境
    mac frida安装(使用网易木木模拟器)
    \u开头两个字符的是什么编码?
  • 原文地址:https://www.cnblogs.com/pengzhaov/p/4379200.html
Copyright © 2011-2022 走看看