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的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教程栏目。
以上就是golang如何创建map的详细内容,更多请关注php中文网其它相关文章!
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
程序员必备接口测试调试工具:点击使用
Apipost = Postman + Swagger + Mock + Jmeter
Api设计、调试、文档、自动化测试工具
网页生成APP,用做网站的技术去做APP:立即创建
手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包
相关文章
相关视频