记录下Go的基础学习笔记,仅供自己参考,如果能帮到您,那是我的荣幸
map,Go里面称之为映射,一种像脚本语言使用数组的方式
常规用法示例:
m := map[string] int {
"aa":100,
"bb":100,
"cc":100,
}
fmt.Printf("%d--%d\n", len(m),m["aa"]);
输出:
3--100
要注意的是,如果取一个不存在的索引,会返回对应类型零值:
m := map[string] int {
"aa":100,
"bb":100,
"cc":100,
}
fmt.Printf("%d\n", m["xx"]);//不存在,该map对应的类型是int,所以返回int类型的零值:0
输出:
0
你可能就要问了,我们日常开发中,经常要检测有没有这个索引时,如何做啊?总不能判为0时,就表示不存在吧,因为有可能我的值就是0啊,放心,GO都想到了,这样即可:
m := map[string] int {
"aa":0,
"bb":100,
"cc":100,
}
n, ok := m["aa"]
if ok {
fmt.Printf("found aa:%d \n",n);
}else{
fmt.Printf("not found aa \n");
}
n, ok = m["xx"]
if ok {
fmt.Printf("found xx:%d \n",n);
}else{
fmt.Printf("not found xx \n");
}
输出:
found aa:0
not found xx
还有一种情况,我只想判断有没有存在,而不想取里面的值,可以吗?
可以的,这样即可:
m := map[string] int {
"aa":0,
"bb":100,
"cc":100,
}
_, ok := m["aa"]//使用_表示一个空白标识,可以理解为放弃这个返回值
if ok {
fmt.Printf("found aa\n");
}else{
fmt.Printf("not found aa \n");
}
_, ok = m["xx"]
if ok {
fmt.Printf("found xx\n");
}else{
fmt.Printf("not found xx \n");
}
输出:
found aa
not found xx
定义完map后,还可以加值吗?可以的:
m := map[string] int {
"aa":0,
"bb":100,
"cc":100,
}
m["xx"] = 111
fmt.Printf("%d\n", m["xx"]);
输出:
111
如何删除里map里面的某个索引及对应的值:
m := map[string] int {
"aa":0,
"bb":100,
"cc":100,
}
m["xx"] = 111
delete(m,"xx")
fmt.Printf("%d\n", m["xx"]);
输出:
0
如何遍历map:
m := map[string] int {
"bb":100,
"cc":100,
}
m["xx"] = 111
for k,v := range m{
fmt.Printf("%s=%d\n",k,v);
}
输出:
bb=100
cc=100
xx=111
分享到:
相关推荐
本篇学习文档主要涵盖了GO语言的基础知识,包括环境搭建、命令使用、基本语法、流程控制、函数、面向对象特性以及并发和Web开发的基础。 一、GO语言环境搭建 在开始学习GO语言之前,首先需要配置好环境。GOROOT是GO...
《Go语言快速入门:Go语言基础教程》 Go语言,又称Golang,是Google在2009年推出的一种开源编程语言,由罗伯特·格瑞史莫、罗布·派克和肯特·贝克等大神设计。Go语言的设计目标是简单、高效、安全,特别适合构建...
Go语言学习笔记是关于Go语言基础入门篇的笔记,主要介绍Go语言基础语法、数据类型、逻辑语句等相关知识点。 语言概述 Go语言是一种开源的编程语言,能让构造简单、可靠且高效的软件变得容易。Go语言是从2007年末由...
根据提供的信息,我们可以总结出这份文档是关于Go语言学习笔记的部分内容,主要涵盖了Go语言的基础概念、语法结构、数据类型以及并发模型等关键知识点。以下是对这些知识点的详细解析: ### Go语言概述 Go(也称作...
根据提供的文件信息,内容涉及学习GO语言(又称Golang)的基础知识。GO语言是一种静态类型、编译型语言,由Google开发,旨在提升编程效率。GO语言简洁、快速、并且支持并发,非常适合系统编程和网络服务。文档内容...
Go语言,又称Golang,是一种静态类型的编程语言,由Google开发,于2007年首次对外公布,并在2009年进行了...通过本学习笔记的内容,我们可以对Go语言有一个全面而系统的认识,为深入学习和应用Go语言打下坚实的基础。
本篇学习资料将深入介绍 Go 语言的基础概念,帮助初学者快速入门。 一、简介 Go 语言的官方文档是学习的首选资源,它包含了详细的教程、语言规范、标准库和工具链的说明。官方文档的易读性和实用性使得自学 Go 语言...
Go语言,也被称为Golang,是由Google开发的一种静态类型的、编译式的、并发型且具有垃圾回收功能的编程语言。它的设计目标是提高开发效率,同时保持程序的高性能和可靠性。Go语言以其简洁的语法、高效的并发模型以及...
### Go语言学习之认识Golang #### 一、引言 Go语言,也称为Golang,是由Google设计的一种静态类型的编程语言。它以其简洁的语法、高效的并发模型以及丰富的标准库而闻名。本文将从Go语言的基础入手,通过具体代码...
通过学习Go语言的结构体、切片和映射,可以更深入地理解和掌握面向对象编程和数据组织,这在开发各种软件项目,尤其是游戏开发中非常重要。同时,理解如何提升用户留存是游戏运营的关键,对于维持游戏活跃度和盈利至...
2. Go语言的数据类型:讲解Go语言中的基础数据类型(如int、float、bool、string等),以及如何声明和使用数组、切片、映射(map)、通道(channel)等。 3. Go语言的并发模型:介绍Go语言中的goroutine和channel等并发...
《Go学习笔记-第四版》是由知名编程作者雨痕编写的关于Go语言的教程,旨在帮助读者深入理解和掌握Go语言的各个方面。...对于想要学习Go语言或已经有一定基础并希望深入的开发者来说,这是一本不可多得的参考资料。
1. **Go语言基础** - **语法简洁**:Go语言的语法设计简洁明了,易于理解和学习,没有C++或Java那样的复杂性。 - **类型系统**:Go语言有静态类型,变量必须在声明时指定类型,可以使用`int`、`string`等内置类型...
根据提供的文件内容,可以了解到这是一份关于Go语言基础教程的文档,以下是对文档内容的知识点归纳: 1. Go语言基础:教程从最基础的Go语言介绍开始,涵盖了Go语言的发展历史和背景知识。 2. Go官方文档:文档中...
特别地,Go语言中的数组、切片、字符串以及map的使用方式,都是学习这门语言必须掌握的基础。 - Go语言的核心结构与技术:这里详细介绍了Go语言的核心技术细节,包括控制结构(if-else、switch、for、break与...
以上只是Go语言基础知识的一部分,实际的"working-with-go-master"压缩包可能包含了更丰富的示例,如文件操作、网络编程、反射、上下文管理等。通过实践这些示例,你可以更深入地了解Go语言,并提升编程能力。学习Go...
本学习笔记主要涵盖了Go语言的基础知识,包括类型、表达式、函数、数据结构、方法、接口、并发以及包管理等多个方面,并附带了源码分析和附录中的工具、调试和测试等内容。 一、类型 1. 变量:Go语言中的变量需要...
在Go编程语言中,`sync.Map`是一种线程安全的数据结构,它提供了高效并发环境下的键值对存储。...同时,这也是一个很好的学习资源,可以帮助你提升在Go语言中的并发编程技巧和代码生成工具的使用经验。