Maps
You can make a map of maps with:
- elements : make(map[string]map[string]int)
- elements["H"] = map[string]int{
- "protons": 1,
- "neutrons": 0,
- }
But note, this is what you have struct
for.
Python
- elements = {}
- elements["H"] = 1
- print elements["H"] # 1
- # remove by key
- elements["O"] = 8
- elements.pop("O")
- # do something depending on the being there
- if "O" in elements:
- print elements["O"]
- if "H" in elements:
- print elements["H"]
Go
- package main
- import "fmt"
- func main() {
- elements := make(map[string]int)
- elements["H"] = 1
- fmt.Println(elements["H"])
- // remove by key
- elements["O"] = 8
- delete(elements, "O")
- // only do something with a element if it's in the map
- if number, ok := elements["O"]; ok {
- fmt.Println(number) // won't be printed
- }
- if number, ok := elements["H"]; ok {
- fmt.Println(number) // 1
- }
- }