如何解析多个对象的引用

How to resolve reference for multiple objects

我正在使用 go-client 库。
我正在工作负载中搜索安装的秘密。
在我的示例中,我们有两个工作负载:daemonsetdeployments.
虽然两者是不同的对象,但结构相似:

type DaemonSet struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
    Spec DaemonSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
    Status DaemonSetStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}


type Deployment struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
    Spec DeploymentSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
    Status DeploymentStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

我收到以下错误:

Unresolved reference

发生这种情况是因为编译不知道我指的是什么对象:v1beta2.DaemonSetListv1beta2.DeploymentList

我该如何为他们俩解决这个问题?

没有。发生这种情况是因为您的变量 controllerList 未在正确的范围内声明。

它必须在 for 循环和 switch 语句共享的公共范围内声明,父范围,即 if controllerName != ....

** 请注意,对于 post,您不得在 SO 上包含代码的屏幕截图,但应提供代码的最小可重现示例,复制 && 粘贴 && 在您的 post 中检查。