泛型实现方式 1、C 通过void*和强制类型转换来实现,也可以通过宏来实现类似功能,一般只会用作简单的实现
2、C++ 模板类的模板具体化,预编译时生成不同的类,分别进行编译,代码会膨胀,但由于不需要在运行时进行任何的类型识别,程序也会变得比较干净,运行效率也更高。
3、JAVA 基于类型擦除,在编译泛型类时将强制消除类型信息;JVM运行时泛型类并不知道自己处理的具体是何种类型。
4、Go 当前版本支持泛型
5、C# 泛型类在编译生成中间码IL时,通用类型T只是一个占位符。 在实例化类时,根据实际数据类型代替T并由即时编译器(JIT)生成本地代码运行,不同封闭类的本地代码是不一样的。
6、JS、Python 动态类型天然支持泛型