map
package main
import "fmt"
type Vertex struct {
Lat, Long float64
}
var m map[string]Vertex
func main() {
m = make(map[string]Vertex)
m["Bell Labs"] = Vertex{
40.68433, -74.39967,
}
fmt.Println(m["Bell Labs"])
m["Bei Jing"] = Vertex{
30.68433, -70.3365,
}
fmt.Println("loop map: ")
for k, v := range m {
fmt.Println(k, v)
}
fmt.Println("get map value: ")
if v, ok := m["Bei Jing"]; ok {
fmt.Println(v)
}
if v, ok := m["BeiJing"]; !ok {
fmt.Println(v)
}
delete(m, "Bei Jing")
fmt.Println("after delete Bei Jing: ")
for k, v := range m {
fmt.Println(k, v)
}
}
{40.68433 -74.39967}
loop map:
Bell Labs {40.68433 -74.39967}
Bei Jing {30.68433 -70.3365}
get map value:
{30.68433 -70.3365}
{0 0}
after delete Bei Jing:
Bell Labs {40.68433 -74.39967}
map批量初始化
commits := map[string]int{
"rsc": 3711,
"r": 2138,
"gri": 1908,
"adg": 912,
}
更多: https://blog.golang.org/go-maps-in-action