我如何获得地图内部和其他地图内部的值?

我是 golang 的新手,我遇到了这个问题。


    package main

    

    import "fmt"

    

    func main() {

    

        Problem := map[string]interface{}{

            "Alan": map[string]interface{}{

                "Particulars": map[string]interface{}{

                    "Age": "28",

                },

            },

            "Sophia": map[string]interface{}{

                "Particulars": map[string]interface{}{

                    "Age": "18",

                 },

            },

        }


    Ages := []string{}

    for key, value := range Problem {

        fmt.Println(key)

        fmt.Println(value)

        Ages = value["Age"]

    }

}

我想用“年龄”的勇气来做某事,我该怎么做?


ITMISS
浏览 65回答 1
1回答

弑天下

interface{} 类型中的值可以是任何类型的值。使用类型断言确保值类型在访问之前对操作有效:package mainimport "fmt"func main() {    Problem := map[string]interface{}{        "Alan": map[string]interface{}{            "Particulars": map[string]interface{}{                "Age": "28",            },        },        "Sophia": map[string]interface{}{            "Particulars": map[string]interface{}{                "Age": "18",            },        },    }    Ages := []string{}    for key, value := range Problem {        fmt.Println(key)        fmt.Println(value)        a, ok := value.(map[string]interface{})["Particulars"].(map[string]interface{})["Age"].(string)        if ok {            Ages = append(Ages, a)        }    }    fmt.Println(Ages)}
打开App,查看更多内容
随时随地看视频慕课网APP