map是一堆键值对的未排序集合,类似Python中字典的概念,它的格式为map[keyType]valueType,是一个key-value的hash结构。map的读取和设置也类似slice一样,通过key来操作,只是slice的index只能是int类型,而map多了很多类型,可以是int,可以是string及所有完全定义了==与!=操作的类型。

声明map的语法如下:var map变量名 map[key] value

其中:key为键类型,value为值类型

例如:value不仅可以是标注数据类型,也可以是自定义数据类型var numbers map[string] int

var myMap map[string] personInfo

personInfo为自定义结构体,存储个人信息,定义如下type personInfo struct {

ID string

Name string

Address string

}

map初始化:

1、直接初始化(创建)rating := map[string] float32 {"C":5, "Go":4.5, "Python":4.5, "C++":2 }

myMap := map[string] personInfo{"1234": personInfo{"1", "Jack", "Room 101,..."},}

2、通过make初始化(创建)

Go语言提供的内置函数make()可以用于灵活地创建map。

创建了一个键类型为string,值类型为int的mapnumbers := make(map[string] int)

创建了一个键类型为string,值类型为personInfo的mapmyMap = make(map[string] personInfo)

也可以选择是否在创建时指定该map的初始存储能力,如创建了一个初始存储能力为5的mapmyMap = make(map[string] personInfo, 5)

创建后初始化如下:numbers["one"] = 1

myMap["1234"] = personInfo{"1", "Jack", "Room 101,..."}

更多golang知识请关注golang教程栏目。

php 创建 map,golang如何创建map相关推荐

  1. 记一次golang中sync.Map并发创建、读取的问题

    记一次golang中sync.Map并发创建.读取的问题  cunfate https://www.jianshu.com/p/f472e79909bc 背景: 我们有一个用go做的项目,其中用到了z ...

  2. golang struct 转map 及 map[string]*Struct 初始化和遍历

    package mainimport ("encoding/json""errors""fmt""reflect"&qu ...

  3. golang中创建logger时候踩过的坑

    golang中创建logger时候踩过的坑 错误的代码 package mainimport ("fmt""io""log""os ...

  4. 由浅入深聊聊Golang的sync.Map

    前言 今天在技术群中有小伙伴讨论并发安全的东西,其实之前就有写过map相关文章:由浅入深聊聊Golang的map.但是没有详细说明sync.Map是怎么一回事. 回想了一下,竟然脑中只剩下" ...

  5. golang struct json map 互相转化

    目录 一.Json和struct互换 (1)Json转struct例子 (2)struct转json 二.json和map互转 (1)json转map例子 (2)map转Json例子 三.map和st ...

  6. Golang Study 三 map的顺序输出

    GO语言中遍历map输出的时候是无序的,不同的遍历会有不同的输出结果,如果想要顺序输出的话,需要额外保存顺序,然后再从map中读取.随着Go语言的不断发展,官方或许会提供额外的顺序读取map方法,目前 ...

  7. Golang slice和map的申明和初始化

    1 前言 仅供记录使用. 2 代码 /*** @Author: FB* @Description: * @File: SliceMapInit.go* @Version: 1.0.0* @Date: ...

  8. 1.13 golang中的Map

    1. Map map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用. 1.1.1. map定义 Go语言中 map的定义语法如下 map[KeyType ...

  9. 一个案例彻底弄懂Go语言中的map (Golang经典编程案例)

    案例要求: 判断某个用户名是否存在,若存在,则把密码改为"888888",若不存在,就增加这个用户信息(信息包括昵称nickname 和 密码pwd); key表示用户名,是唯一的 ...

最新文章

  1. DPDK — 安装部署(CentOS 7)
  2. 如何找到ngrx action匹配的取数据代码 - 谈谈Spartacus Product Carousel控件数据的读取
  3. Spring依赖注入技术的发展
  4. [转]Win7 系统安装VS2008没反应 点击安装一闪就没有反应 .
  5. C#Panel 控件的使用
  6. ubuntu搭建时间同步服务器
  7. python widget_python 图形界面
  8. js学习笔记 chapter5 引用类型
  9. python测试系列教程——python+Selenium+chrome自动化测试框架
  10. Android系统信息获取 之一:系统存储信息的获取(RAM,ROM,SDCard)
  11. SPPNet算法解析
  12. express koa koa2 优缺点分析
  13. AI虚拟偶像正崛起,是否可以取代你的idol?
  14. 2022-09-29:在第 1 天,有一个人发现了一个秘密。 给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后, 每天 给一个新的人 分享 秘密。 同时给你一个整数 forg
  15. python爬取千图网_python爬取lol官网英雄图片代码
  16. scratch2.0 求救电话问答
  17. 【Java设计模式】——单例模式
  18. 如何删除复制文字产生的word回车换行符
  19. 如何高效管理电脑里的文件
  20. Python安装Selenium

热门文章

  1. IndexError: index 8002 is out of bounds for size 7992
  2. 技术报告:渗透测试分析
  3. 交易员期货行情分析:持续震荡,等待机会
  4. python单线程和多线程的区别
  5. Linux基础(4)-
  6. 【项目实战】Python基于Lasso特征选择、GM算法和SVR回归算法进行财政收入影响因素分析及预测
  7. 设计制作计算机组装评论,计算机组装与维护课程设计_new解析.doc
  8. 学习机票:如何读取PNR记录
  9. 覆盖诊所全流程管理,适合中大型诊所门诊的门诊管理系统
  10. redmine mysql 优化_Redmine性能优化方案