golang小结 2

2018-02-05  本文已影响14人  TimeMage

array, slice, map

遍历

    for k,v:=range m { //v可省
        fmt.Println(k,v)
    }

数组

切片

字典

func test1() {
    a := map[string]int{"abc": 1,
        "cda": 2,
    }//构造
    a["haha"] = 4//插入
    delete(a, "abc")//删除
    for k, _ := range a {//_可省
        fmt.Println(k, a[k])
    }
    b := make(map[int]string, 2)// make(type, cap=0) 指定cap应该有所优化
    b[3] = "good"
    fmt.Println(b)
}
func test2() {
    for i := 0; i < 5; i++ {
    m := map[int]string{
        0: "a", 1: "a", 2: "a", 3: "a", 4: "a",
        5: "a", 6: "a", 7: "a", 8: "a", 9: "a",
    }
    fmt.Println(m)//map[int] 的实现方式不一定是有序的,每次遍历的结果可能不一样
    for k := range m {
        m[k+k] = "x"//插入或修改
        delete(m, k)
    }
    fmt.Println(m)
    }
}
/*
cda 2
haha 4
map[3:good]
map[1:a 3:a 5:a 9:a 0:a 2:a 4:a 6:a 7:a 8:a]
map[8:x 18:x 48:x 14:x 2:x 6:x 10:x 32:x]
map[0:a 5:a 6:a 7:a 9:a 1:a 2:a 3:a 4:a 8:a]
map[18:x 24:x 4:x 20:x 16:x 6:x 28:x]
map[1:a 2:a 4:a 6:a 0:a 5:a 7:a 8:a 9:a 3:a]
map[10:x 18:x 28:x 6:x 2:x 16:x 24:x]
map[0:a 2:a 5:a 8:a 1:a 3:a 4:a 6:a 7:a 9:a]
map[6:x 14:x 2:x 8:x 12:x 20:x 18:x 32:x]
map[8:a 9:a 0:a 3:a 6:a 5:a 7:a 1:a 2:a 4:a]
map[18:x 12:x 10:x 14:x 2:x 16:x]
*/

上一篇下一篇

猜你喜欢

热点阅读