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