泛型能少写代码,但别替代业务抽象
Go 泛型适合容器、集合转换、类型安全的工具函数,不适合把业务差异硬塞进一个万能函数。
如果两个业务流程只是代码长得像,但规则、错误码、审计字段都不同,强行泛型化会降低可读性。后面需求变化时,泛型约束会越来越绕。
func Map[T any, R any](items []T, fn func(T) R) []R { ... }我的习惯是:工具层可以泛型,业务层优先显式。业务代码重复三行不一定坏,隐藏规则差异才危险。
版权申明
本文系作者 @blogger 原创发布在泛型能少写代码,但别替代业务抽象。未经许可,禁止转载。
评论
-- 评论已关闭 --
全部评论