假设我有一个名为foobar的库包。
随着时间的推移,它变得又大又重。
幸运的是,它是可分离的,我设法将其功能拆分为两个独立的包foo和bar —— 大多数客户只需要使用其中一个。
由于我的库已经被许多客户端使用,为了兼容性,我仍然希望维护一个foobar包作为foo和bar 中当前功能的代理。
如何在 Go 中实现这一目标?
想到的一种方法是在foobar 中为foo和bar 中的每个结构/函数创建别名。所以如果foo定义F()和bar定义B(),我会在foobar:
var (
F = foo.F
B = bar.B
)
但我希望有一种更简单/更清洁的方式。
Cats萌萌
相关分类