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

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

無法將 yaml 數組映射和解組到 golang 結構

無法將 yaml 數組映射和解組到 golang 結構

Go
臨摹微笑 2022-06-06 16:56:20
我想將我的~/.kube/config文件解組為一個go結構。我正在使用以下方法func ListContexts(pathToKubeConfig string) ([]string, error) {    type Contexts struct {        Ctx []string `yaml:"contexts"`        //ApiVersion string              `yaml:"apiVersion"`    }    var ctx []string    var c Contexts    file, err := ioutil.ReadFile(pathToKubeConfig)    if err != nil {        return nil, err    }    err = yaml.Unmarshal(file, &c)    fmt.Printf("%#v\n", c.Ctx)    return ctx, nil}}眾所周知,kubeconfig 文件具有以下結構:apiVersion: v1. . . contexts:- context:    cluster: cluster1    user: user1  name: context1- context:    cluster: cluster2    user: user2  name: context2我的方法是打?。篬]string(nil)既然context是 yaml 數組,為什么我映射到字符串數組時不起作用?當我取消注釋ApiVersion我的結構字段并嘗試打印它時,它可以工作。
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

context是一個數組,但不是字符串數組。要么[]map[string]interface{}用于上下文,要么將上下文定義為結構,并使用其數組:


type context struct {

   Cluster string `yaml:"cluster"`

   ...

}


type contexts struct {

   Contexts []context `yaml:"contexts"`

}


查看完整回答
反對 回復 2022-06-06
  • 1 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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