zoukankan      html  css  js  c++  java
  • go

    1. 定义

    1. map是k-v数据结构,又称为字段或者关联数组,映射等
    2. 基本语法
        var map 变量名[keytype]valuetype
        key可以是bool,数字,string,指针,channel,接口,结构体,数组。通常为int和string。注意slice,map,function不可以,因为这几个没法用==来判断
        value的类型跟key基本类似
        
    3. map声明举例
        var aa map[string]string
        注意,声明map是不会分配内存的,初始化需要使用内置函数make,分配内存后才能赋值和使用
    4. 注意事项
        map使用前一定要make
        map的key不能重复
    5. 三种使用方式
        方式一:
        var a map[string]string
        a = make(map[string]string 10)
        a["no1"] = "松江"
        a["no2"] = "普陀"
    
        方式二:
        cities := make(map[string]string)
        cities["no1"] = "北京"
        cities["no2"] = "上海"
    
        方式三:
        heroes := map[string]string{
            "hero1" : "松江",
            "hero2" : "黄埔",
            "hero3" : "浦东",
        }
        heros["hero4"] = "宝山"
    6. 取出map里面的value
        heroes["hero1"]  // 与Python相同
        

     2. map的增删改查

    1. 增加和更新
    map["key"] = value  // 有则更新,无则添加
    2. 删除
    delete(map, "key")  // 存在就删除,不存在也不报错
    3. val, findRes := cities["key"]
        if findRes {
            。。。
        }else{
            。。。
        }    
        如果cities中有"key",则findRes为true,否则为false。(findRes可以使用其他自己想要的变量名代替)。val为对应的value

    3. map遍历

    1. map的遍历使用for-range的结构
        for k, v := range map {
            ...  
        }

    4. map切片

  • 相关阅读:
    Android屏幕适配
    设计模式学习心得
    C语言中的作用域、链接属性与存储属性
    二级指针删除单向链表
    C++编程风格
    python中index、slice与slice assignment用法
    lua_pcall与lua_call之间的区别
    lua-C++ userdata使用
    lua中调用C++函数
    C++中为什么有时要使用extern "C"
  • 原文地址:https://www.cnblogs.com/JackShi/p/14165841.html
Copyright © 2011-2022 走看看