zoukankan      html  css  js  c++  java
  • (二十九)golang--map

    map:是key-value数据结构,又称为字段或者关联数组,类似其它编程语言的集合;

    基本语法:var 名称 map[键类型]值类型

    • key的类型可以是:bool、数字、string、指针、管道,还可以是包含前面几个类型的接口、结构体、数组;(通常为Int、string)
    • value的类型基本和key一样;

    申明:

    • var a map[string]string
    • var a map[string]int
    • var a map[int]string
    • var a map[string]map[string]string
    • 申明是不会分配内存的,初始化需要make,分配内存后才能被赋值和使用;
      a = make(map[int]int, 0)

    使用方式:

    • var a map[int]int
      a = make(map[int]int,0)
    • a := make(map[int]int)
    • a := map[int]int{
        1:2,
        2:3,
      }

     

     map的增删改查:

     map的遍历:

     map的长度:用len统计有多少对key-value

     map的切片:(动态增加map),一般而言,初始化的切片的长度是有一定长度的,要想再增加,可以用append函数  

     map排序:

    • golang中没有一个专门的方法针对map的key排序;
    • golang中的map默认是无序的;
    • golang中map的排序,是先对key进行排序,然后根据key遍历输出即可;(我现在的版本里面map里面是有序的了)

     

     map的使用细节:

    • map是引用类型,在一个函数接收map,修改后,会直接影响到原来的map
    • map的容量达到后,要想再增加map,会自动扩容;
    • map的value经常使用struct类型,更适合管理复杂的数据
       
  • 相关阅读:
    Gym
    UVALive
    UVALive
    UVALive
    UVALive
    Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset Trie
    HDU 5816 Hearthstone 概率dp
    欧几里德与扩展欧几里德算法(转)
    差分约束系统详解(转)
    2016年第七届蓝桥杯C/C++程序设计本科B组决赛
  • 原文地址:https://www.cnblogs.com/xiximayou/p/11911634.html
Copyright © 2011-2022 走看看