GO Generic 入門筆記
類型安全
過往使用interface{}
a和b的類型在執行時才會被檢查,這就增加了出錯的可能性。
func Add(a, b interface{}) interface{} {
return a.(int) + b.(int) // 需要type assertion,且不安全
}
Generic 類型約束
泛型透過在編譯時期進行類型檢查,来解决這個問題。
func Add[T Addable](a, b T) T {
return a + b // 類型安全
}
Ad...
ganhua.wang4 min read