我正在使用 go-client 库。
我正在工作负载中搜索安装的 secret 。
在我的示例中,我们有两个工作负载:daemonset
和 deployments
。
虽然两者是不同的对象,但结构相似:
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.DaemonSetList
或 v1beta2.DeploymentList
。
我怎样才能为他们俩解决这个问题?
最佳答案
没有。发生这种情况是因为您的变量 controllerList
未在正确的范围内声明。
它必须在 for
循环和 switch
语句共享的公共(public)范围内声明,父范围,即 if controllerName != 。 ..
.
** 请注意,要在 SO 上发帖,您不得包含代码的屏幕截图,但要提供代码的最小可重现示例,复制 && 粘贴 && 在您的帖子中检查。
关于go - 如何解析多个对象的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58050052/