3
我讀過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章是關於結構和接口。
如何使用結構和接口存儲結構化信息的更好方法是什麼?
預先感謝您。
只是爲了指出明顯,'elements'是私人的。在這個例子中,這可能是所有需要的。 – 2013-03-16 16:35:56
這也是Go如何在文字內部進行類型推斷的一個很好的例子。 – Caleb 2013-03-23 04:23:31