泛型是什么?
通俗的说:在编写代码或数据结构时先不提供值的类型,而是之后再提供。
通过例子来说明
定义一个[]int64类型的切片
# 定义一个[]int64类型的切片
type Int64Slice []int64
# 如果还需要定义[]int32类型的切片,则
type Int32Slice []int32
# 很繁琐,使用泛型后,只需要定义一个类型可以了
type Slice[T int32 | int64] []T
# Slice名称后有一个中括号[]
# T是类型形参,T的具体类型不确定,类似占位符
# 中括号[]中的是类型形参列表
# 定义的泛型类型名称是Slice[T]
# 泛型实例化后才能使用
var a Slice[int32] = []int{1,2,3}
var b Slice[int64] = []int{1,2,3}