对不起,如果这是一个愚蠢的问题。我刚刚阅读了快速的文档,但我无法弄清楚泛型。
如果我有以下内容:
func swapTwoInts<T>(inout a: T, inout b: T) {
let tempa = a
a = b
b = tempa
}
var num1 = "uno"
var num2 = "dos"
swap(&num1, &num2)
怎么样
func swapTwoInts (inout a: Any, inout b: Any) {
let tempa = a
a = b
b = tempa
}
var num1 = "uno"
var num2 = "dos"
swap(&num1, &num2)
有什么不同吗?你需要使用泛型而不是Any类型的一些例子在哪里?
答案 0 :(得分:1)
“通用函数允许您在函数的参数和结果上使用Swift的类型安全性来编写更安全,更清晰的代码。”
有相同的问题(和答案here)
答案 1 :(得分:0)
泛型只是不必为不同数据类型重写相同代码的便捷方法。假设您希望在程序的两个不同时间交换字符串以及两个整数 - 要么写两个函数执行完全相同的操作,要么使用一个泛型函数。