先上代码……

package main

import "fmt"

func testMap() {
//两种声明map方式,切记,必须初始化才能用,否则panic //var a map[string]string = map[string]string{
// "key": "value",
//}
a := make(map[string]string, )
a["abc"] = "efg"
//map的key是唯一的,修改值可以直接改
a["abc"] = "efg2"
a["abc1"] = "efg"
fmt.Println(a)
} //map嵌套map
//map是无序排序
func testMap2() {
a := make(map[string]map[string]string, )
a["key1"] = make(map[string]string)
a["key1"]["key2"] = "abc"
a["key1"]["key3"] = "abc"
a["key1"]["key4"] = "abc"
a["key1"]["key5"] = "abc"
fmt.Println(a)
} func modify(a map[string]map[string]string) {
_, ok := a["zhangsan"]
if !ok {
a["zhangsan"] = make(map[string]string)
}
//与_,ok写法一样
//if a["zhangsan"] == nil {}
//
a["zhangsan"]["passwd"] = ""
a["zhangsan"]["nickname"] = "pangpang"
return
} func testMap3() {
a := make(map[string]map[string]string, )
modify(a)
fmt.Println(a)
}
func trans(a map[string]map[string]string) {
for k, v := range a {
fmt.Println(k)
for k1, v1 := range v {
fmt.Println("\t", k1, v1)
}
}
}
func testMap4() {
a := make(map[string]map[string]string, )
a["key1"] = make(map[string]string)
a["key1"]["key2"] = "abc"
a["key1"]["key3"] = "abc"
a["key1"]["key4"] = "abc"
a["key1"]["key5"] = "abc"
//删除map键的内置函数delete
//delete(a,"key1")
trans(a) fmt.Println(len(a)) } func testMap5() {
var a []map[int]int
a = make([]map[int]int, ) //for i:=0;i<5;i++{} //map,slice判断空是nil
if a[] == nil {
a[] = make(map[int]int)
}
a[][] =
fmt.Println(a)
} func main() {
testMap()
testMap2()
testMap3()
testMap4()
testMap5()
}

map反转

package main

import (
"fmt"
"sort"
) func testMapSort() {
var a map[int]int
a = make(map[int]int, )
a[] =
a[] =
a[] =
a[] =
a[] =
var keys []int
for k, _ := range a {
keys = append(keys, k) }
sort.Ints(keys)
for _, v := range keys {
fmt.Println(v, a[v])
}
}
//map反转
func testMapSort1() {
var a map[string]int
var b map[int]string
a = make(map[string]int, )
b = make(map[int]string, )
a["abc"] =
a["efg"] =
for k, v := range a {
b[v] = k
}
fmt.Println(b)
}
func main() {
//testMapSort()
testMapSort1()
}

map 键值反转

golang之map数据类型的更多相关文章

  1. golang之map的使用声明

    1.map的基本介绍 map是key-value数据结构,又称为字段或者关联数组.类似其它编程语言的集合,在编程中是经常使用到的 2.map的声明 1)基本语法 var map 变量名 map[key ...

  2. Golang中map的三种声明方式和简单实现增删改查

    package main import ( "fmt" ) func main() { test3 := map[string]string{ "one": & ...

  3. 总结golang之map

    总结golang之map 2017年04月13日 23:35:53 趁年轻造起来 阅读数:18637 标签: golangmapgo 更多 个人分类: golang   版权声明:本文为博主原创文章, ...

  4. golang自己定义数据类型查询与插入postgresql中point数据

    golang自己定义数据类型查询与插入postgresql中point数据 详细代码例如以下: package main import ( "bytes" "databa ...

  5. golang 中 map 转 struct

    golang 中 map 转 struct package main import ( "fmt" "github.com/goinggo/mapstructure&qu ...

  6. golang之基本数据类型

    目录 一.golang之基本数据类型 1. 整型 (1)有符号(范围是负数.0和正数) (2)无符号(范围是0和正数) (3)特殊整型 (4)数字字面量语法 2. 浮点型 3. 复数类型 4. 布尔类 ...

  7. Golang的基础数据类型-字符串型

    Golang的基础数据类型-字符串型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 上一篇博客学习了使用单引号括起来的单个字符就是字符类型,在Golang中有两种表 ...

  8. Golang的基础数据类型-字符型

    Golang的基础数据类型-字符型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 Go语言中的字符有两种,即uint8类型和rune类型. uint8类型: 我们也 ...

  9. Golang的基础数据类型-浮点型

    Golang的基础数据类型-浮点型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.浮点型概述 Go语言提供两种精度的浮点数,即float32和float64,其中float32 ...

随机推荐

  1. bootstrap table教程--后台数据绑定、特殊列处理、排序

    上一篇文章介绍了基本的使用教程.本节主要介绍Bootstrap的后台数据绑定.特殊列处理及列的排序功能 1.数据绑定 一般做程序设计,很少是使用json文件直接绑定数据.基本上我们都是使用编程语言进行 ...

  2. Ext.js 之MVC

    Ext.js 4.0之MVC

  3. 【idea】如何破解idea

    1.IntelliJ IDEA官网下载 https://www.jetbrains.com/idea/download/ 2.安装IntelliJ IDEA 3.永久破解 在http://idea.l ...

  4. 使用nomad && consul && fabio 创建简单的微服务系统

    具体每个组件的功能就不详细说明了 nomad 一个调度工具,consul 一个服务发现,健康检查多数据中心支持的工具 fabio 一个基于consul的负载均衡&&动态路由工具,对于集 ...

  5. 在 Windows 下安装 Oracle 11g XE (Express Edition)

    Oracle 11g XE 是 Oracle 数据库的免费版本,支持标准版的大部分功能,11g XE 提供 Windows 和 Linux 版本. 做为免费的 Oracle 数据库版本,XE 的限制是 ...

  6. ZeroClipboard.js兼容各种浏览器复制到剪切板上

    http://www.cnblogs.com/huijieoo/articles/5569990.html <script type="text/javascript" sr ...

  7. SublimeText设置在浏览器打开 快捷键

    这里插入一下安装"view in browser"官方版的说明:(前提是得先安装package control插件) 1.通过"ctrl+shift+p"打开命 ...

  8. PDO exec 执行时出错后如果修改数据会被还原?

    PDO exec 执行时出错后如果修改数据会被还原? 现象 FastAdmin 更新了 1127 版本,但是使用在线安装方式出现无法修改管理员密码的问题. 一直是默认的 admin 123456 密码 ...

  9. java内存上堆和栈的一些理解

    多线程上的基本类型:https://blog.csdn.net/championhengyi/article/details/76857401

  10. 黑马Python——学习之前

    学习清单 学习态度