我读过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"])
}
}
Run Code Online (Sandbox Code Playgroud)
他评论说"尽管地图经常像这样使用,但在第9章中我们将看到更好的存储结构化信息的方法." 第9章是关于结构和接口.
使用结构和接口存储结构化信息的更好方法与上面的示例相似?
先感谢您.
jor*_*lli 16
type element struct {
name string
state string
}
func main() {
elements := map[string]element{
"H": {"Hydrogen", "gas"},
"He": {"Helium", "gas"},
"Li": {"Lithium", "solid"},
"Be": {"Beryllium", "solid"},
"B": {"Boron", "solid"},
"C": {"Carbon", "solid"},
"N": {"Nitrogen", "gas"},
"O": {"Oxygen", "gas"},
"F": {"Fluorine", "gas"},
"Ne": {"Neon", "gas"},
}
if el, ok := elements["Li"]; ok {
fmt.Println(el.name, el.state)
}
}
Run Code Online (Sandbox Code Playgroud)
http://play.golang.org/p/vIbA5Qs7SD
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |