博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
go语言中的map
阅读量:6950 次
发布时间:2019-06-27

本文共 1415 字,大约阅读时间需要 4 分钟。

package main;import (	"fmt"	"sort")func main() {	//类似其他语言中的哈希表或者字典,以key-value形式存储	//创建key为int值为string的map	var a map[int]string = map[int]string{};	//同上	var b map[int]string = make(map[int]string);	//通过make创建map	var c = make(map[int]string);	//简化写法	d := make(map[int]string);	//设置值	d[0] = "hello";	d[1] = "world";	//删除某个键值,指定map和key	delete(d, 1);	//map的值又是一个map	var e = make(map[int]map[int]string);	//这里还需要make,上面的make只是初始化了最外层的map	e[0] = make(map[int]string);	e[0][0] = "123";	e[0][1] = "456";		e[1] = make(map[int]string);	e[1][0] = "789";	e[1][1] = "101";	//判断map是否有值	if _, ok := e[2][2]; !ok {		fmt.Println("没值");	}	//循环map,k表示key,v是值	for k, v := range e {		fmt.Println(k, v);	}	//创建一个长度为5,值为map[int]string的slice	var f = make([]map[int]string, 5);	//循环的make创建map	for ix := range f {		//对f操作需要通过索引来操作,不然都是对拷贝的操作		f[ix] = make(map[int]string);		f[ix][0] = "hello";		f[ix][1] = "world";	}	var g = map[int]string{1: "a", 2: "b", 3: "c", 4: "d"};	//map是无序的,每次循环输出的顺序都不一样	for k, v := range g {		fmt.Println(k, v);	}	//这里可以通过slice对map的key进行排序,然后通过slice中的key操作map	var h = make([]int, len(g));	ix := 0;	for k, _ := range g {		h[ix] = k;		ix++;	}	//对slice排序	sort.Ints(h);	fmt.Println(h);	//通过slice中的key操作map	for _, v := range h {		fmt.Println(g[v]);	}	//把g进行键值互换	var i = make(map[string]int, len(g));	for k, v := range g {		i[v] = k;	}	fmt.Println(i);	fmt.Println(a, b, c, d, e);	fmt.Println(d[0], d[1]);	fmt.Println(f);}

转载地址:http://pmcil.baihongyu.com/

你可能感兴趣的文章
收藏列表
查看>>
Linux信任主机(SSH)
查看>>
oracle数据库安装条件查询
查看>>
云服务IaaS,PaaS,SaaS的区别
查看>>
MFC 菜单
查看>>
ES权威指南[官方文档学习笔记]-6 document oriented
查看>>
ES权威指南[官方文档学习笔记]-23 Add an index
查看>>
Badboy自动化测试工具4 运行脚本
查看>>
决心书
查看>>
IEC61850之TrgOps报告触发选项各bit位表示含义
查看>>
Java 编程中关于异常处理的 10 个最佳实践
查看>>
MD110查看所有号码如何走位
查看>>
top
查看>>
DHCP
查看>>
Mysql 删除表(Drop)后数据恢复成功
查看>>
我的友情链接
查看>>
python while循环和双层循环
查看>>
史上最全程序员资源分享
查看>>
[置顶] Jquery插件之信息弹出框showInfoDialog(成功、错误、警告、通知)...
查看>>
回顾2017,展望2018
查看>>