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)
   }
}