在 Golang 中,为什么我不能比较 []"k8s.io/api/core/v1"

newService := serviceforgrafana(grafana)

    if checkservice.Spec != newService.Spec {

        checkservice.Spec = newService.Spec

        if err := r.Update(context.TODO(), checkservice); err != nil {

            return ctrl.Result{}, err

        }

    }

newService 和 checkservice 都是 corev1.service{}。


controllers/grafana_controller.go:122:23:无效操作:checkservice.Spec != newService.Spec (包含 []"k8s.io/api/core/v1".ServicePort 的结构无法比较)


噜噜哒
浏览 188回答 1
1回答

慕哥9229398

包含映射或切片的结构不可比较:https://golang.org/ref/spec#Comparison_operators您必须手动比较这些,或使用reflect.DeepEqual
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go