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] intvar 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的map

numbers := make(map[string] int)

创建了一个键类型为string,值类型为personInfo的map

myMap = make(map[string] personInfo)

也可以选择是否在创建时指定该map的初始存储能力,如创建了一个初始存储能力为5的map

myMap = make(map[string] personInfo, 5)

创建后初始化如下:

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

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

更多相关文章

  1. golang如何判断数据类型
  2. golang数据类型有哪些
  3. golang 如何类型转换
  4. go语言数据类型转换教程
  5. Go语言结构体与初始化图文详解
  6. golang怎么把字符串转成Int类型
  7. golang判断错误类型的方法
  8. 详解 Go 中的不可变类型
  9. 总结 Go 的数据类型

随机推荐

  1. android开发--RelativeLayout用到的一些
  2. Android(安卓)ImageSpan与TextView中的te
  3. Android中WebView如何加载JavaScript脚本
  4. Android预制APP第一次打开时不弹权限提示
  5. AndroidのUI布局之layout weight
  6. android-GooglePlay安装来源追踪PlayInst
  7. Android(安卓)更新UI的两种方法——handl
  8. android 设置时区
  9. Android的XMPP协议的smack开源框架
  10. Android 获取基站信息