Go 需要泛型的场景

场景一,需要一个万能的 slice,但是不能用 [] interface\


func printA(a []interface{})  {
    println(a)
}
// printA([]int{1, 2}) 报错
// printA([]int{"1", "2"}) 报错


场景二,复用代码,没有使用泛型的话,合并两个 slice 的方法如下:


func mergeIntSlice(a []int, b []int) []int {
    return append(a, b...)
}


func mergeStrSlice(a []string, b []string) []string {
   return append(a, b...)
}
 0
 0
 分享
评论图片
评论