go需要泛型的場景

xing393939發表於2021-12-15

場景一,需要一個萬能的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...)
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章