WIS*_*SAM 1 generics dictionary func swift
我正在尝试为字典(任何数据类型)创建一个通用函数.我调用函数时遇到此错误:
错误:无法将类型'[Int:String]'的值转换为预期的参数类型'[_:_]'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)
Run Code Online (Sandbox Code Playgroud)
您收到此错误是因为您没有正确使用泛型,泛型是预先不知道的特定类型的占位符(请注意,它实际上与Any类型不同).
你应该做:
func wprintgeneric<T,U>(inp:[T:U]){
for (i,j) in inp {
print(i,j)
}
}
Run Code Online (Sandbox Code Playgroud)