当前位置: 首页 > news >正文

昆明购物网站建设郑州网络营销公司

昆明购物网站建设,郑州网络营销公司,wordpress 适配 手机端,徐州企业建站概述 在上一节的内容中,我们介绍了Go的结构体,包括:定义结构体、声明结构体变量、使用结构体、结构体关联函数、new、组合等。在本节中,我们将介绍Go的映射。Go语言中的映射(Map)是一种无序的键值对集合&am…

概述

        在上一节的内容中,我们介绍了Go的结构体,包括:定义结构体、声明结构体变量、使用结构体、结构体关联函数、new、组合等。在本节中,我们将介绍Go的映射。Go语言中的映射(Map)是一种无序的键值对集合,使用关键字map来声明,并使用键和值类型作为参数。它是一个用于存储一系列无序的键值对的集合,基于键来存储值,键就像索引一样,指向与该键关联的值。

        映射被创建和初始化后,可以通过指定适当类型的键并给这个键赋一个值来为映射赋值,每个键必须是唯一的。另外,映射是可变的,可以在已有的键值对基础上添加新的键值对。Go语言中映射的实现使用哈希表,因此它的操作是非常快速的。然而,由于映射是无序的,即使使用同样的顺序保存键值对,每次迭代映射的时候,顺序也有可能不一样。

声明映射

        在Go语言中,映射的声明使用map关键字,并指定键和值的类型。以下是声明映射的语法:

                  var m map[keyType]valueType

        其中,keyType表示键的类型,valueType表示值的类型。比如:要声明一个将字符串作为键、整数作为值的映射,可以参考下面的示例代码。

var m map[string]int

初始化映射

        声明映射时,可以直接添加初始键值对,可参考下面的示例代码。

package mainimport "fmt"func main() {mapWebsite := map[string]int{"CSDN":  66,"GitHub": 88,}// 输出:map[CSDN:66 GitHub:88]fmt.Println(mapWebsite)
}

        当然,也可以使用make函数来初始化映射。在下面的示例代码中,我们通过make函数创建了一个空的映射,可以在后续的代码中通过使用赋值操作来添加键值对。

package mainimport "fmt"func main() {mapWebsite := make(map[string]int)// 输出:map[]fmt.Println(mapWebsite)
}

        注意:映射是引用类型,使用make函数分配的是一个引用,后续对映射的修改会影响到原始的映射对象。

操作映射

        声明映射后,我们可以向映射中添加新的键值对,也可以访问和修改映射中的值。具体用法可参考下面的示例代码。

package mainimport "fmt"func main() {mapWebsite := make(map[string]int)// 添加新的键值对mapWebsite["CSDN"] = 66mapWebsite["GitHub"] = 88// 输出:map[CSDN:66 GitHub:88]fmt.Println(mapWebsite)// 访问键对应的值,输出:88fmt.Println(mapWebsite["GitHub"])mapWebsite["CSDN"] = 99// 修改键对应的值,输出:99fmt.Println(mapWebsite["CSDN"])
}

        另外,我们可以使用len()函数获取映射的长度,使用delete()函数删除某个键值对。

package mainimport "fmt"func main() {mapWebsite := map[string]int{"CSDN":  66,"GitHub": 88,}// 输出:2fmt.Println(len(mapWebsite))delete(mapWebsite, "GitHub")// 输出:1fmt.Println(len(mapWebsite))
}

        可以使用如下方式检查键是否存在于映射中:value, ok := mapName[key]。其中,mapName是映射的变量名,key是要检查的键。如果key存在于mapName中,那么value将是对应的值,并且ok将置为true;否则,value将是零值,并且ok将置为false。

package mainimport "fmt"func main() {mapWebsite := map[string]int{"CSDN":  66,"GitHub": 88,}value, ok := mapWebsite["CSDN"]if ok {// 输出:existed: 66fmt.Printf("existed: %d\n", value)} else {fmt.Println("not exist")}
}

        要遍历map,我们可以使用range关键字。当遍历map时,range会返回两个值:键和对应的值。具体用法可参考下面的示例代码。

package mainimport "fmt"func main() {mapFruit := make(map[string]int)mapFruit["Apple"] = 66mapFruit["Banana"] = 88mapFruit["Orange"] = 99/* 遍历map,输出:Apple 66Banana 88Orange 99*/for key, value := range mapFruit {fmt.Println(key, value)}
}

http://www.hyszgw.com/news/15463.html

相关文章:

  • 一家专门做母婴的网站自己怎么免费做百度推广
  • 计算机网站开发和软件开发凡科建站怎么收费
  • 企业做网站的目的整站排名优化品牌
  • 上海网站优化哪家好重庆网站seo好不好
  • 知名商城网站建设公司百度推广是干什么的
  • 网站部分链接做301跳转1688精品货源网站入口
  • 重庆seo网站策划whois域名查询
  • 在福州做搬家网站多少钱拼多多怎么查商品排名
  • 湖北德升建站线上宣传推广方案
  • 莆系医疗网站建设免费建站有哪些
  • 网站首页新世纪建设集团有限公司seo是什么职业做什么的
  • 网站建设成都常德seo公司
  • JSP动态网站开发百度应用中心
  • 呼和浩特公司网站制作2023年第三波新冠9月
  • 网站页面做关键词排名seo优化
  • 网站影响seo的标签百度学术论文查重官网
  • wordpress链接修改密码性能优化工具
  • 鹤壁做网站公司免费无代码开发平台
  • 私人定制网站如何进行搜索引擎优化 简答案
  • 肇庆市住房和城乡建设局网站seo推广怎么入门
  • 北京手机网站开发价格seo专员工作内容
  • 怎么做公司的网站关键词挖掘查询工具爱站网
  • 网站首页加载特效桂林网页
  • 青岛网站建设迅优b2b网站免费推广
  • 专门做品牌折扣的网站公司企业网站制作需要多少钱
  • 音平商城谁做的网站免费的关键词挖掘工具
  • 东莞网站营销公司优化百度seo技术搜索引擎
  • 亚马逊做网站发礼物换评价软文推广营销服务平台
  • 网站建设与推广协议书网络营销策划书5000字
  • 免费seo网站推荐一下磁力搜索引擎下载