iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Go语言基础之怎么使用Map
  • 485
分享到

Go语言基础之怎么使用Map

2023-06-16 00:06:22 485人浏览 泡泡鱼
摘要

这篇文章主要讲解了“Go语言基础之怎么使用Map”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言基础之怎么使用Map”吧!引入mapmap,在python中叫字典,Java中也叫map

这篇文章主要讲解了“Go语言基础之怎么使用Map”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言基础之怎么使用Map”吧!

引入map

map,在python中叫字典,Java中也叫map,PHP中好像列表就带有map的功能。

map是键值对(key-value)存储结构,是无序的,内部使用哈希(hash)实现,性能很高。

在Go中,map是引用类型

map基本使用

map语法

方式一,声明时赋值 var 变量名 = map[key类型][value类型]{     key:value,     key:value,//必须使用,结尾,否则会报错 } //方式二,make方式 var 变量名 = make(map[key类型]value类型, 容量(cap)) //如果map是make方式声明的,第二个参数直接就是容量,元素个数是0,没有第三个参数

示例

方式一,声明时赋值

代码

package main  import "fmt"  func main() {     var stu1 = map[string]string{         "Name":   "张三",         "Age":    "18",         "height": "188", //每行都要以,结尾, }     var stu2 = map[string]string{         "Name":   "李四",         "Age":    "20",         "height": "170", //每行都要以,结尾, }     fmt.Println(stu1, stu2)      //map[Age:18 Name:张三 height:188] map[Age:20 Name:李四 height:170] }

方式二,make方式

代码

package main  import "fmt"  func main() {     var stu1 = make(map[string]string,10)     stu1["Name"] = "张三"     stu1["Age"] = "18"     stu1["height"] = "188"      var stu2 = make(map[string]string,10)     stu2["Name"] = "李四"     stu2["Age"] = "20"     stu2["height"] = "170"     fmt.Println(stu1,stu2)     //map[Age:18 Name:张三 height:188] map[Age:20 Name:李四 height:170] }

ps:关于这两种方式,哪个使用的多。

我的建议是,如果确定有多少个字段,就使用第一种,如果不确定多少个字段,是动态添加的,用第二种。

使用第二种要大概估算好容量,超过会触发自动扩容机制,可能会产生那么一丝丝的性能影响。

遍历map(查)

遍历map,通常只用一种方式for range。

代码

package main  import "fmt"  func main() {     var stu1 = make(map[string]string, 10)     stu1["Name"] = "张三"     stu1["Age"] = "18"     stu1["height"] = "188"      for key, value := range stu1 {         //map遍历时,key值键,value是值         fmt.Println(key, value)   } }

只遍历key

package main  import "fmt"  func main() {     var stu1 = make(map[string]string, 10)     stu1["Name"] = "张三"     stu1["Age"] = "18"     stu1["height"] = "188"      for key := range stu1 {         //只遍历key         fmt.Println(key)   } }

修改map的值(改)

package main  import "fmt"  func main() {     //var stu1 = make(map[string]string, 10)     //stu1["Name"] = "张三"     //stu1["Age"] = "18"     //stu1["height"] = "188"     //     //stu1["Name"] = "张三666"//修改     //fmt.Println(stu1)      //同上     var stu1 = map[string]string{         "Name":   "张三",         "Age":    "18",         "height": "188", //每行都要以,结尾, }     stu1["Name"] = "张三666"//修改     fmt.Println(stu1) }

删除map里面的值

删除map里面的值需要用到delete。

代码

package main  import "fmt"  func main() {      var stu1 = map[string]string{         "Name":   "张三",         "Age":    "18",         "height": "188", //每行都要以,结尾, }     fmt.Println(stu1)    //map[Age:18 Name:张三 height:188]     delete(stu1, "Name") //删除key以及key对应的值     fmt.Println(stu1)    //map[Age:18 height:188] }

map取值注意事项

map在取值时,尽可能的判断一下是否key存在

package main  import "fmt"  func main() {    var stu1 = map[string]string{     "Name":   "张三",     "Age":    "18",     "height": "188", //每行都要以,结尾,   }   //result := stu1["Name"]//key存在,没问题   //fmt.Println(result)//张三   //result := stu1["Names"]//手一抖,key打错了   //fmt.Println(result)//结果为空,显然不是太友好    //取值标准用法   result, ok := stu1["Name"]   //如果key存在,ok为true,如果key不存在,ok为false   fmt.Println(result,ok)//张三 true   if ok {     fmt.Println(result)   } else {     fmt.Println("key不存在")   } }

感谢各位的阅读,以上就是“Go语言基础之怎么使用Map”的内容了,经过本文的学习后,相信大家对Go语言基础之怎么使用Map这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Go语言基础之怎么使用Map

本文链接: https://www.lsjlt.com/news/281945.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Go语言基础之怎么使用Map
    这篇文章主要讲解了“Go语言基础之怎么使用Map”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言基础之怎么使用Map”吧!引入mapmap,在Python中叫字典,Java中也叫map...
    99+
    2023-06-16
  • Go语言基础学习之map的示例详解
    目录Mapmap定义map基本使用判断某个键是否存在map的遍历使用delete()函数删除键值对按照指定顺序遍历map元素为map类型的切片值为切片类型的mapMap实现原理什么是...
    99+
    2023-05-14
    Golang map原理 Golang map实现 Golang map
  • Go语言基础之指针
    区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。 Go语言中的指针 任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一...
    99+
    2023-08-30
    golang 开发语言 后端
  • Go语言基础map用法及示例详解
    目录概述语法声明和初始化读取删除遍历总结示例 概述 map是基于key-value键值对的无序的集合 Go语言中的map是引用类型 必须初始化才能使用。 ...
    99+
    2024-04-02
  • 怎么使用Go语言的map
    这篇文章主要讲解了“怎么使用Go语言的map”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Go语言的map”吧!语法声明和初始化配合make使用,否则是nilvar map...
    99+
    2023-06-25
  • 怎么使用Go语言基础结构体
    本篇内容主要讲解“怎么使用Go语言基础结构体”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Go语言基础结构体”吧!概述结构体是由一系列具有相同类型或不同类型的数据构成的数据集合语法定义结...
    99+
    2023-06-25
  • Go语言基础学习之Context的使用详解
    目录前言基本用法Context控制goroutine的生命周期使用 WithValue() 传递数据使用 WithCancel() 取消操作使用 WithDeadline() 设置截...
    99+
    2023-05-19
    Go语言Context使用 Go语言Context用法 Go Context
  • Go语言基础之Time包详解
    Time包是Go语言中用于处理时间的一个标准库。它提供了一系列函数和类型,用于获取当前时间、时间格式化、时间计算等操作。在Go语言中...
    99+
    2023-08-29
    Go语言
  • Go语言中的基本map使用方法
    Go语言是一种开源的编程语言,具有高效性和简洁性,其中的数据结构之一就是map。在Go语言中,map是一种“键值对”的数据结构,可以用来存储一系列无序的键值对。本文将详细介绍Go语言中...
    99+
    2024-04-02
  • ES6基础语法之Map和Set对象怎么用
    本篇内容主要讲解“ES6基础语法之Map和Set对象怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ES6基础语法之Map和Set对象怎么用”吧!一、Map对象Map 对象保存键值对。任何值...
    99+
    2023-06-30
  • Go语言基础学习之数组的使用详解
    目录1. Array(数组)2. 声明数组3. 数组初始化3.1 方式一3.2 方式二3.3 方式三3.4 多维数组4. 遍历数组&取值5. 数组拷贝和传参数组相必大家都很熟...
    99+
    2022-12-30
    Go语言数组使用 Go语言数组 Go 数组
  • Go语言的基础是什么语言?
    Go语言的基础是C语言和Pascal语言。Go语言是由Robert Griesemer、Rob Pike和Ken Thompson三位大牛联合开发的。他们在设计Go语言时,主要参考了C...
    99+
    2024-04-02
  • Go语言基础学习之指针详解
    目录1. 什么是指针2. 指针地址 & 指针类型3. 指针取值4. 空指针5. make6. new7. make 和 new 的区别8. 问题今天来说说 Go 语言基础中的...
    99+
    2022-12-30
    Go语言指针使用 Go语言指针 Go 指针
  • Go语言之Switch语句怎么使用
    这篇“Go语言之Switch语句怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言之Switch语句怎么使用”文...
    99+
    2023-07-02
  • ES6基础语法之Map和Set对象
    一、Map对象 Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。 Map中的键值是有序的。 let myMap = new Map(); myMap.se...
    99+
    2024-04-02
  • Go语言基础go install命令使用示例详解
    目录go install一、使用二、包名和目录名的关系三、注意 go install 编译并安装代码包,对于库,会生成目标库文件,并且放置到GOPATH/pgk目录下。 对于可执文件...
    99+
    2024-04-02
  • Go语言基础go fmt命令使用示例详解
    go fmt 命令主要是用来帮你格式化所写好的代码文件【很多第三方集成软件都是使用了go fmt命令】 一、使用: go fmt <文件名>.go 使用go fmt命令...
    99+
    2024-04-02
  • C语言map函数的基础用法详解
    目录mapmap具体操作总结map 有N个学生的姓名name和学号ID,要求给你一个学生的name求查找他的ID。 简单做法是定义 string name [ N ] 和 int I...
    99+
    2024-04-02
  • Go语言基础并发channel
    这篇文章主要讲解了“Go语言基础并发channel”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言基础并发channel”吧!为什么需要channel...
    99+
    2024-04-02
  • C语言中map函数的基础用法是什么
    C语言中map函数的基础用法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。map有N个学生的姓名name和学号ID,要求给你一个学生的name求查找他的I...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作