zoukankan      html  css  js  c++  java
  • swift的clourse:字面量化的函数、将函数字面量化-与函数的类型签名相同

    1、clourse的签名与函数的签名相同;

    所以两者可以相互赋值;

    2、可以将函数(表达式)字面量化;

    因为可以字面量化,所以和其它的值(变量)没有任何区别,可以存在变量存在的任何地方;

    3、clourse的表达有简化的形式。

    4、尾随闭包;

    //声明

    let 名字 = {(参数) -> 返回值 in closure的内容 }

    //调用

    let 返回值 = 名(参数)

    //声明与调用合并使用

    let 返回值 = {(参数) -> 返回值 in closure的内容}(实参)

    swift的函数式编程通过clourse实现

    http://yige.org/swift/closures.php#trailing_closures

    类型声明:

    使用直接函数类型定义新类型

    public typealias Completion = (_ result: Result<Moya.Response, MoyaError>) -> Void

    let networkCompletion: Completion = { result in

                  if self.trackInflights {

                    self.inflightRequests[endpoint]?.forEach { $0(result) }

                    objc_sync_enter(self)

                    self.inflightRequests.removeValue(forKey: endpoint)

                    objc_sync_exit(self)

                  } else {

                    pluginsWithCompletion(result)

                  }

                }

    //例子:直接函数类型定义变量

        var clouserGo:((_ str:String)->(String))!

        func funcGo(_ str:String)->String{

            return str

        }

       self.clouserGo = funcGo

            print(self.clouserGo("goo"))

            self.clouserGo = {str in return str}

            print(self.clouserGo("eeee"))

  • 相关阅读:
    哪种可以让程序员赚到更多钱?
    layer 弹框 很好用 页面交互不好弄!!!父子弹框的交互!
    博客导航
    扯淡扯着扯着就远了----关键字;宁静致远
    高驰涛——裸奔到北京的程序猿
    TP5分页类使用——超级简单好用
    七牛云同步资源工具使用说明
    短链接实现原理和简单调用
    抓包工具Charles下载地址及Charles配置https
    敲代码的少年
  • 原文地址:https://www.cnblogs.com/feng9exe/p/10197563.html
Copyright © 2011-2022 走看看