我有一个方法,应该得到不同的类型,建议如何解决这个问题,而不是重复的函数,基本上做同样的事情...(我想避免创建包装结构....)
type A1 struct {
Spec A1Spec `json:"spec,omitempty"`
Status A1Status `json:"status,omitempty"`
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
}
type B1 struct {
Spec B1Spec `json:"spec,omitempty"`
Status B1Status `json:"status,omitempty"`
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
}
func ExecuteA1(ctx context.Context, a1 A1, Client client.Client) error {
if a1.Spec.Type == "test" {….
}}
func ExecuteB1(ctx context.Context, b1 B1, Client client.Client) error {
if b1.Spec.Type == "test" {….
}
….}
两个函数都做着一样,但类型不同,我想避免创建两个函数,它建议如何解决这个问题?
https://play.golang.org/p/kV7s3LRd-eh
慕容708150
相关分类