亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

對這個 map[string]struct 的定義方式感到困惑

對這個 map[string]struct 的定義方式感到困惑

Go
慕森王 2023-05-22 17:11:39
我了解 maps in go,但這段代碼讓我感到困惑:testCases := map[string]struct {        pod      *api.Pod        required []corev1.ResourceName        err      string    }{        "init container resource missing": {            pod: &api.Pod{                Spec: api.PodSpec{                    InitContainers: []api.Container{{                        Resources: api.ResourceRequirements{                            Requests: api.ResourceList{api.ResourceCPU: resource.MustParse("1m")},                            Limits:   api.ResourceList{api.ResourceCPU: resource.MustParse("2m")},                        },                    }},                },            },            required: []corev1.ResourceName{corev1.ResourceMemory},            err:      `must specify memory`,        },        "container resource missing": {            pod: &api.Pod{                Spec: api.PodSpec{                    Containers: []api.Container{{                        Resources: api.ResourceRequirements{                            Requests: api.ResourceList{api.ResourceCPU: resource.MustParse("1m")},                            Limits:   api.ResourceList{api.ResourceCPU: resource.MustParse("2m")},                        },                    }},                },            },            required: []corev1.ResourceName{corev1.ResourceMemory},            err:      `must specify memory`,        },    }我明白這一點:testCases := map[string]struct但接下來的內容對我來說毫無意義。代碼如何自己定義一個 api.Pod、corev1.ResourceName 等?那不是struct定義的字符串嗎?
查看完整描述

2 回答

?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

testCasesstring是一個帶有匿名類型鍵和值的映射:


struct {

    pod      *api.Pod

    required []corev1.ResourceName

    err      string

}

是pod指向類型值api.Pod(也是結構)的指針,required是具有類型元素的切片corev1.ResourceName,并且err是字符串。


因此testCases映射將包含許多指向具有上述結構的結構的字符串。


查看完整回答
反對 回復 2023-05-22
?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

接下來是某種“匿名”結構。


它將等同于:


testCases := map[string]StructName

如果您指定了如下結構:


type StructName struct {

    pod      *api.Pod

    required []corev1.ResourceName

    err      string

}


查看完整回答
反對 回復 2023-05-22
  • 2 回答
  • 0 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號