先上代码……

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. 微信应用js-sdk自定义分享图文

    之前写过步骤 但是代码很少 这里奉献上我自己写的代码 我是用js做的 先奉上js部分的代码 <head> <meta charset="utf-8"> &l ...

  2. .NET工具软件收集

    ======================== ILSPY        官网:  http://ilspy.net/ .NET Reflector                官网:http:/ ...

  3. test20181024 hao

    题意 分析 考场10分 直接\(O(nm)\)模拟即可. #include<cstdlib> #include<cstdio> #include<cmath> #i ...

  4. 发发牢骚,觉得走c#这条路,不该太浮躁。

    发发牢骚,觉得走c#这条路,不该太浮躁.校园招聘结束了,腾讯,华为,百度,完美时空,网易,阿里,让我觉得.NET很受歧视.清一色的C/C++,JAVA,只有网易有一点.Net的,但是都是非核心的运维工 ...

  5. 怎样创造財富?硅谷创业之父 Paul Graham 《黑客与画家》思维导图

    先送上亚马逊传送门:<黑客与画家>:硅谷创业之父 Paul Graham 文集 再送上一个思维导图: 下载大图:http://caifujianghu.com/article/ruhe-c ...

  6. BUG的定位与分析思路

    一般来说bug大多数存在于3个模块: 1.前台界面,包括界面的显示,兼容性,数据提交的判断,页面的跳转等等,这些bug基本都是一眼可见的,不太需要定位,当然也不排除一些特殊情况,本身数据传过来的时候就 ...

  7. 常见的加密和解密算法—DES

    一.DES加密概述 DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并 ...

  8. Oracle Lock(Enqueues)

    转载:http://www.cnblogs.com/Richardzhu/articles/2796540.html 数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多 ...

  9. SpringBoot2.0实现静态资源版本控制

    写在最前面 犹记毕业第一年时,公司每次发布完成后,都会在一个群里通知[版本更新,各部门清理缓存,有问题及时反馈]之类的话.归根结底就是资源缓存的问题,浏览器会将请求到的静态资源,如JS.CSS等文件缓 ...

  10. canvas设置阴影

    canvas设置阴影 属性 shadowOffsetX = float 阴影向右偏移量 shadowOffsetY = float 阴影向下偏移量 shadowBlur = float 阴影模糊效果 ...