amap.go

28 阅读1分钟

package main

import "fmt"

func main() {

    // 空 map
    amap := make(map[int]string)
    
    // 容量为 10 的空 map
    // make(map[int]int, 10)
    
    // 有值 
    // make(map[int]int) {
    //     0: 0,
    //     1: 1,
    //     2: 2,
    // }
    
    amap[0] = "a"
    amap[1] = "b"
    amap[3] = "d"
    
    // 获取 map 元素
    a := amap[0]
    
    // 查看元素是否存在
    c, i := amap[2]  // "", false
    d, ii := amap[3] // d, true
    
    // 修改元素
    amap[0] = "aa"
    
    // 删除元素
    delete(amap, 1)
    
    // 获取 map 长度
    len := len(amap)
    
    // 遍历 map
    for k, v := range amap {
        fmt.Println(k, v)
    }
    
} 


// Map: 无序、键值对、集合。
// make(map [KeyType]ValueType, initialCapacity)
// 初始容量非必填, 达到指定容量时, Map 会自动扩容
// 没有初始容量, go 会跟警察实际情况选择一个合适的值
// 用键取值, 值不存在返回对应的零值; int-0, string-""