MST
星途 面试题库

面试题:Swift 泛型与元类型结合实现类型约束的应用

假设有一个需求,要实现一个泛型函数,该函数接受一个遵循特定协议的类型参数 `T`,并且在函数内部需要根据 `T` 的元类型来进行不同的操作(例如,当 `T` 是 `Int` 类型时执行一种操作,当 `T` 是 `String` 类型时执行另一种操作)。请写出满足该需求的 Swift 代码,包括协议定义、泛型函数实现等。
29.1万 热度难度
编程语言Swift

知识考点

AI 面试

面试题答案

一键面试
// 定义协议
protocol SpecificProtocol {}

// 扩展 Int 遵循协议
extension Int: SpecificProtocol {}

// 扩展 String 遵循协议
extension String: SpecificProtocol {}

// 泛型函数实现
func performOperation<T: SpecificProtocol>(_ value: T) {
    if let _ = value as? Int {
        print("执行针对 Int 类型的操作")
    } else if let _ = value as? String {
        print("执行针对 String 类型的操作")
    }
}