Go 需要泛型的场景

场景一,需要一个万能的slice,但是不能用[]interface(为什么呢?见[]int和[]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...)
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!