-1

我正在使用 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"`
}

我收到以下错误:

未解决的参考

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

我怎样才能为他们两个解决它?

在此处输入图像描述

4

1 回答 1

1

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

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

** 请注意,要在 SO 上发布,您不得包含代码的屏幕截图,而是提供代码的最小可复制示例,复制 && 粘贴 && linted 在您的帖子中。

于 2019-09-22T14:26:32.513 回答