swift 泛型字典函数
swift generic dictionary function
我正在尝试为字典(任何数据类型)创建一个通用函数。我在调用函数时收到此错误:
error: cannot convert value of type '[Int : String]' to expected
argument type '[_ : _]' wprintgeneric(inp: w)
^
我的代码如下:
var w=[1:"wisam",2:"khlaid",3:"abd"] //dictionary
func wprintgeneric<T>(inp:[T:T]){
for (i,j) in inp{print(i,j)}
}
wprintgeneric(inp: w)
您收到此错误是因为您没有正确使用泛型,泛型是您事先不知道的特定类型的占位符(请注意,它实际上不同于 Any
类型).
你应该这样做:
func wprintgeneric<T,U>(inp:[T:U]){
for (i,j) in inp {
print(i,j)
}
}
我正在尝试为字典(任何数据类型)创建一个通用函数。我在调用函数时收到此错误:
error: cannot convert value of type '[Int : String]' to expected argument type '[_ : _]' wprintgeneric(inp: w) ^
我的代码如下:
var w=[1:"wisam",2:"khlaid",3:"abd"] //dictionary
func wprintgeneric<T>(inp:[T:T]){
for (i,j) in inp{print(i,j)}
}
wprintgeneric(inp: w)
您收到此错误是因为您没有正确使用泛型,泛型是您事先不知道的特定类型的占位符(请注意,它实际上不同于 Any
类型).
你应该这样做:
func wprintgeneric<T,U>(inp:[T:U]){
for (i,j) in inp {
print(i,j)
}
}