如何使用 struct 作为地图的替代品?

我阅读了 Caleb Doxsey 的“GO 编程简介”。在第 6 章中,他举了以下例子:


package main


import "fmt"


func main() {

    elements := map[string]map[string]string{

        "H": map[string]string{

            "name":  "Hydrogen",

            "state": "gas",

        },

        "He": map[string]string{

            "name":  "Helium",

            "state": "gas",

        },

        "Li": map[string]string{

            "name":  "Lithium",

            "state": "solid",

        },

        "Be": map[string]string{

            "name":  "Beryllium",

            "state": "solid",

        },

        "B": map[string]string{

            "name":  "Boron",

            "state": "solid",

        },

        "C": map[string]string{

            "name":  "Carbon",

            "state": "solid",

        },

        "N": map[string]string{

            "name":  "Nitrogen",

            "state": "gas",

        },

        "O": map[string]string{

            "name":  "Oxygen",

            "state": "gas",

        },

        "F": map[string]string{

            "name":  "Fluorine",

            "state": "gas",

        },

        "Ne": map[string]string{

            "name":  "Neon",

            "state": "gas",

        },

    }


    if el, ok := elements["Li"]; ok {

        fmt.Println(el["name"], el["state"])

    }

}

他评论了这个例子,“虽然地图经常这样使用,但在第 9 章我们将看到一种更好的方式来存储结构化信息。” 第 9 章是关于结构和接口的。


对于上面的示例,使用结构和接口存储结构化信息的更好方法是什么样的?


至尊宝的传说
浏览 216回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go