美文网首页
Swift 5.x 泛型函数定义

Swift 5.x 泛型函数定义

作者: ShenYj | 来源:发表于2020-07-10 21:29 被阅读0次
  • 泛型函数可以用于任何类型. 这里是上面提到的swapTwoInts(_:, _:)函数的泛型版本, 叫做swapTwoValues(_:_:)
func swapTwoValues<T>(_ a: inout T, _ b: inout T) {
    let temporaryA = a
    a = b
    b = temporaryA
}
  • 上面的swapTwoInts(_:, _:)中, 占位符类型T就是一个类型形式参数的例子. 类型形式参数指定并且命名一个占位符类型, 紧挨着写在函数名后面的一堆尖括号里(比如<T>).
  • 一旦你指定了一个类型形式参数, 你就可以用它定义一个函数形式参数 (比如swapTwoInts(_:, _:)函数中的形式参数ab)的类型, 或者用它做函数返回值类型, 或者做函数体重类型标注. 在不同情况下, 用调用函数时的实际类型来替换类型形式参数
  • 你可以通过在尖括号里写多个用逗号隔开的类型形式参数名, 来提供更多类型形式参数.

命名类型形式参数
  • 大多数情况下, 类型形式参数的名字要有描述性, 比如Dictionary<Key, Value>中的KeyValue, 借此告知读者类型形式参数和泛型类型、泛型用到的函数之间的关系. 但是, 他们之间的关系没有意义时, 一般按惯例用单个字母命名, 比如TUV, 比如上面的swapTwoInts(_:, _:)中的T.

  • 类型形式参数永远用大写开头的驼峰命名法(比如TMyTypeParameter)命名, 以指明它们是一个类型的占位符, 不是一个值.

相关文章

  • Swift 5.x 泛型函数定义

    泛型函数可以用于任何类型. 这里是上面提到的swapTwoInts(_:, _:)函数的泛型版本, 叫做swapT...

  • iOS__在swift中实现debug隐藏打印日志

    在AppDelegate.swift文件中自定义一个泛型函数如下:

  • iOS开发 - 「Swift 学习」Swift泛型

    Swift泛型 泛型函数 以上是交换两个任意相同类型值的泛型函数,T是一个占位命名类型,swift不会查找命名为T...

  • Swift项目开发实用篇:自定义DEBUG下的LOG

    Swift项目中我们怎么自定义LOG.在DEBUG模式下打印RELEASE模式下不打印?我们通过泛型函数实现(泛型...

  • swift泛型整理

    swift泛型知识主要包括:泛型函数、泛型协议、泛型类型、泛型约束。 一、泛型函数。 如:一个交换两个变量值的函数...

  • 2021-12-01

    swift5基本语法-泛型函数和泛型类型 Swift中泛型可以将类型参数化,提高代码复用率,减少代码量。 一、泛型...

  • swift泛型函数

    本文转载自http://blog.csdn.net/youshaoduo/article/details/5486...

  • Swift:泛型

    泛型 泛型函数泛型函数和非泛型函数的不同之处在于:泛型函数名(swapTwoValues(::))后面跟着 占位类...

  • Swift—泛型函数(自定义log)

    '' //方法, 依赖于类'' // 泛型函数, 泛型可以实现调用者传递什么类型就是什么类型'' func WFL...

  • Kotlin泛型函数

    Kotlin提供了对泛型函数的支持。 一、泛型函数的使用 在声明函数时允许定义一个或多个泛型形参,泛型形参要用尖括...

网友评论

      本文标题:Swift 5.x 泛型函数定义

      本文链接:https://www.haomeiwen.com/subject/virvcktx.html