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)
    }

    //get map value
    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
    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

results matching ""

    No results matching ""