golang 入门_GoLang地图入门:教程
2020-07-14 06:24
274 查看
golang 入门
使用GoLang编程的重要部分是使用地图。 在此GoLang地图教程中,我们将演示地图的价值,并向您展示如何将其集成到程序中。
什么是GoLang地图?
映射具有键和值。 该值可以是任何值,例如另一个映射。 例如,这是一个字符串映射,键的类型为int, 值为value 。 您可以使用make命令实例化地图。
people := make(map[int]string) people[1] = "Walker"
这是一个完整的例子。 在这种情况下,我们将分两步声明然后实例化GoLang映射。 然后,我们使用GoLang范围运算符遍历每个键并按索引检索值。 然后我们将其打印出来。
package main import "fmt" func main() { var pLangMap map[string]string pLangMap = make(map[string]string) pLangMap["Go"] = "Easy" pLangMap["Python"] = "Easy" pLangMap["Scala"] = "Difficult" pLangMap["Java"] = "Moderate Difficult" pLangMap["C++"] = "Difficult" for lang := range pLangMap { fmt.Println("How Difficult is", lang, pLangMap[lang]) } }
这是输出。 请注意,按键的打印顺序不正确。 这是因为Golang是多线程且异步的 。
How Difficult is Scala Difficult How Difficult is Java Moderate Difficult How Difficult is C++ Difficult How Difficult is Go Easy How Difficult is Python Easy
排序GoLang地图
要对地图项进行排序,我们不能简单地使用sort.Strings,因为键不是字符串。
sort.Strings(pLangMap) cannot use pLangMap (type map[string]string) as type []string in argument to sort.Strings
因此,让我们创建一个新的映射,其键类型为字符串[] string的数组,并具有任意值:我们使用len(map),即映射中元素的数量。 然后,将值插入键,并使用sort.Strings对键进行排序。
func main() { var pLangMap map[string]string pLangMap = make(map[string]string) pLangMap["Go"] = "Easy" pLangMap["Python"] = "Easy" pLangMap["Scala"] = "Difficult" pLangMap["Java"] = "Moderate Difficult" pLangMap["C++"] = "Difficult" mk := make([]string, len(pLangMap)) i := 0 for k, _ := range pLangMap { mk = k i++ } sort.Strings(mk) fmt.Println("How Difficult is", mk) }
现在,元素将按顺序打印。
How Difficult is [C++ Go Java Python Scala]
[i] 取回价值
这是获取地图值的方法。
pLangMap["Go"] = "Easy" x := pLangMap["Go"] fmt.Println("How Difficult is", x)
测试钥匙
要测试键,请使用下划线(_)检索一个值,而不使用该值。 如果我们在其中放置某个占位符(例如v),那么Go会抱怨我们声明了一个值,但没有使用它。 如果密钥不存在,则布尔值ok将等于false。
_, ok := pLangMap["Got"] if ok == false { fmt.Println("Got not found") }
结构图
在这里,我们创建了一个学生类型结构的映射,然后打印每个学生的姓名:
package main import "fmt" type student struct { name string class string grades string } func main() { var students map[int]student students = make(map[int]student) students[1] = student{"Walker", "calculus", "A"} for k, v := range students { fmt.Println("key=",k, " name=" , v.name) } }
输出:
key= 1 name= Walker
如您所见,GoLang映射非常易于使用,并且它的简单性遍及整个语言,这就是GoLang成为越来越流行的Web编程语言的原因 。
如果您对此GoLang地图教程感兴趣,可以将下面提供的代码粘贴到GoLang Playground中 。
golang 入门
相关文章推荐
- golang分层测试之http接口测试入门教程
- 韩顺平_php从入门到精通_视频教程_第8讲_多媒体页面_标签汇总①_地图映射_学习笔记_源代码图解_PPT文档整理
- Golang极简入门教程(三):并发支持
- Unity2D游戏入门教程(一)宝石迷阵(3)如何判断地图是死图
- 你的首个golang语言详细入门教程 | your first golang tutorial
- flash游戏开发-地图相关-Tile layout非常好的入门教程。
- golang入门教程(一) 安装和环境搭建
- golang 教程,重新编辑了一下入门目录
- Golang入门教程(六)关键字和数据类型
- ANDROID 开发:谷歌地图开发入门(3)--- google map api v3 入门教程辅助
- Unity2D游戏入门教程(一)宝石迷阵(2)生成宝石地图
- OpenScales入门教程:第二节 : 创建第一张地图
- esri-leaflet入门教程(2)-地图的HelloWorld
- vs2005入门视频教程 之 导航控件-站点地图和sitemappat [视频]
- ANDROID 开发:谷歌地图开发入门(3)--- google map api v3 入门教程辅助
- ANDROID 开发:谷歌地图开发入门(2)--- ZTE V899D ROOT 教程,获得ROOT权限。
- Golang入门教程(七)基本数据类型使用案例
- golang入门教程(一) Hello World
- Golang入门教程(二)Ubuntu16.04下安装golang(实例:Golang 定时任务管理器)
- Golang入门教程(四)变量声明