一个无名函数(闭包)作为一个参数传给一个正常的函数

尾随闭包

其实前面的匿名函数中有简单介绍过:10.函数->匿名函数及简写

  • 有参数 无返回值

    func play1(param1:String,param2:(String)->Void){
        param2(param1 + " - Swift") // 简写了return
    }
    
    play1(param1: "正常写法", param2:  {(data:String) -> Void in
        print(data)
    })
    
    play1(param1: "尾随闭包写法") { (data) in
        print(data)
    }
    
  • 无参数 无返回值

    简写过程

    func play(param:()->Void){
        param()
    }
    
    play(param: {()->Void in
        print("play")
    })
    
    play(){()->Void in
        print("play")
    }
    
    play (){
        print("play")
    }
    
    play {
        print("play")
    }
    
  • 无参数 有返回值

    func play(param:() -> String){
        print(param()) 
    }
    
    play(param: {() -> String in
        return "play"
    })
    
    play(){() -> String in
        return "play"
    }
    
    play (){
        "play"
    }
    
    play {
        "play"
    }
    

results matching ""

    No results matching ""