一、泛型基本含义


在定义函数(结构等)时候,可能会有多种类型传入。只有在真正使用才知道是什么类型,此时就可以用一个更加宽泛的类型(必须存在一定约束,只能在那些类型的范围内使用)暂时占位。这个类型就叫泛型


写法:[泛型标识 泛型约束] ([T int | float64 | string])


二、通过内置的约束来实现


1、any


使用any约束,实现一个简单的函数



2、comparable


使用 comparable 约束类型。 comparable 是一个编译器内置的特定的扩展接口类型,该类型必须支持“==“ 方法。



三、泛型方法



四、泛型结构体:



五、泛型map:



六、泛型切片:



八、~的含义


当定义了自定义类型时正常的泛型接口是无法识别的,需要在泛型接口的类型前加~,表示涵盖底层类型.