23:swift-泛型

 

 

正文

复制代码
/* 泛型
 
 1: 泛型代码让你能根据你所定义的要求写出可以用于任何类型的灵活的、可复用的函数。
 
 2: 类型形式参数
     占位符类型 T 就是一个类型形式参数的例子。
    类型形式参数指定并且命名一个占位符类型,紧挨着写在函数名后面的一对尖括号里(比如 <T> )。\
     func swapTwoValues<T>(_ a: inout T, _ b: inout T) {
     
     }
 */

import UIKit

class Genericity23VC: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = .white
        self.title = "23:泛型"
        
        
        testType()
    }
    
    public func testType() {
        var stackOfStrings = Stack<String>()
        stackOfStrings.push("uno")
        stackOfStrings.push("dos")
        stackOfStrings.push("tres")
        stackOfStrings.push("cuatro")
        
        let a = stackOfStrings.pop();
        print("泛型:pop:\(a)")
    }
    

    

}

// 1:声明一个泛型
struct Stack<Element> {
    var items = [Element]()
    mutating func push(_ item: Element) {
        items.append(item)
    }
    mutating func pop() -> Element {
        return items.removeLast()
    }
}

/*2:类型约束语法*/

func someFunction<T: Any, U: Equatable>(someT: T, someU: U) {
    
}
复制代码

 

posted on   风zk  阅读(18)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示