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) { }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!