首页 > 其他分享 >Go语言Map

Go语言Map

时间:2022-10-20 00:11:57浏览次数:38  
标签:Map 语言 map fmt value Go HashMaps string

Go 语言Map(集合)

Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。

Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的。

定义 Map

可以使用内建函数 make 也可以使用 map 关键字来定义 Map:

/* 声明变量,默认 map 是 nil */
var map_variable map[key_data_type]value_data_type

/* 使用 make 函数 */
map_variable := make(map[key_data_type]value_data_type)

如果不初始化 map,那么就会创建一个 nil map。nil map 不能用来存放键值对

实例

package main
import "fmt"
func main() {
	/* 方式一:声明一个map对象 */
	var  HashMap map[string] string 
	HashMap =make(map[string]string)
	HashMap["姓名"] = "张三"
	HashMap["年龄"] = "18"
	HashMap["地址"] = "北京"
	HashMap["户籍"] = "北京东城"
	/* map是无序的 */
	for key, value := range HashMap {
		fmt.Printf("%v:%v ", key,value)
	}
	fmt.Println("")
}

Map的切片

如果确定是真实的,则存在,否则不存在

vaule , ok := map["参数"]
/* 方式一:声明一个map对象 */
	var  HashMaps map[string] string 
	HashMaps =make(map[string]string)
	HashMaps["姓名"] = "张三"
	HashMaps["年龄"] = "18"
	HashMaps["地址"] = "北京"
	HashMaps["户籍"] = "北京东城"
	printMap(HashMaps)
	value ,ok := HashMaps["爱好"]
	if value == ""{
		fmt.Printf("value为空\n")
	}
	fmt.Printf("value:%v %T %b\n", value,value,value)
	fmt.Printf("ok:%v\n", ok)

delete() 函数

delete() 函数用于删除集合的元素, 参数为 map 和其对应的 key。实例如下:

/**
* 删除map中的值
**/
func DeleteMap[T comparable](entity map[T]T,param T)(bool){
	value,ok := entity[param]
	if ok {
		delete(entity,param)
		fmt.Printf("%v已经被删除\n",value)
		return true
	}
	fmt.Println("不存在参数")
	fmt.Printf("\n******************\n")
	return false
}

标签:Map,语言,map,fmt,value,Go,HashMaps,string
From: https://www.cnblogs.com/zouLearn/p/16808296.html

相关文章

  • Go语言的Vscode快捷键
    GO语言快捷键pkgm--快速搭建主函数和导入main包packagemainfuncmain(){}ff--格式化输出fmt.Printf("",var)fp--换行输出fmt.......
  • go mod no required module provides package : go.mod file not found in current di
    尝试1:goget-ugithub.com/gin-gonic/gingomodtidy没有效果尝试2:关于golang第三方包的引用报错:norequiredmoduleprovidespackage_编程哲学家的博客-CSDN博客网......
  • 通过c语言逆向学习php
    通过c语言逆向学习php静态语言:需要编译器编译之后,生成一个机器能识别的语言,动态语言:shell-->把shell命令或者控制语句写入到某文件中,然后直接执行1:c语言是一个强类型......
  • golang os.Args (转)
    转自:301-golang之命令行参数os.Argsos.Args获取运行时的参数,是一个切片Slice,第一个值是当前可运行文件的绝对路径import("os""fmt")funcmain(){......
  • MongoDB基本指令
    基本指令1showdbs  showdatabases ---显示当前的所有数据库在MongoDB中,数据库和集合都不用手动创建2use数据库名 --进入到指定的数据库中3......
  • 爱上开源之golang入门至实战第四章函数(Func)(八)
    爱上开源之golang入门至实战第四章函数(Func)(八)4.4.8函数作为返回值在go语言里,func本质上是一个类型关键字。使用func来进行声明,本质上就是什么了一个func的对象。对象......
  • 06-Go语言数组和切片
    数组数组初始化 vararr[4]int arr[0]=1 arr[1]=2 fmt.Println(arr) vara=[4]int{1,2,3,4} fmt.Println(a) varb=[4]int{1,2,3} fmt.Println(b......
  • 嵌入式-c语言基础:冒泡排序实现从大到小排列
    #include<stdio.h>intmain(){/*冒泡排序:从大到小*//*i=0第1轮(i+1):需要比较9次(sizeArr-i-1)*//*i=1第2轮(i+1):需要比较8次(sizeArr-i-1)*//*i=2第3......
  • Go 开发常用操作技巧--字符串
    Go语言字符串的字节使用的是UTF-8编码,是一种变长的编码方式。使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。含中文字符串截取字符串的长度我们可以使用l......
  • Mongodb启停命令
    启动mongodb bin/mongod-fsingle/mongod.conf  需要在mongodb路径下连接   bin/mongo--host=192.168.88.151   需要在mongodb路径下关闭服务 客户端......