介绍gomap类型高级使用

package main

import "fmt"

import "sort"

func main() {
	// 复杂点的map
	d := make(map[int]map[int]string)
	tmp, is_ok := d[2][1] //可以使用第二个值,tmp:这个元素的value,is_ok:是否有值在里面
	if !is_ok {
	    // 如果没有值就,就赋值一个新的值
		d[2] = make(map[int]string)
	}
	d[2][1] = "地图"
	fmt.Println(tmp) // [无输出]
	fmt.Println(is_ok) // map[2:map[1:地图]]
	fmt.Println(d) // map[1:a 2:b 3:c 4:d 5:e]

	//迭代
	e := map[int]string{1: "a", 2: "b", 3: "c", 4: "d", 5: "e"}
	s := make([]int, len(e))
	i := 0
	fmt.Println(e) // map[1:a 2:b 3:c 4:d 5:e]
	sort.Ints(s) // 对key排序
	for k, _ := range e {
		s[i] = k
		i++
	}
	fmt.Println(s) // [1 2 3 4 5]

	//键值对换
	f := make(map[string]int)
	for k, v := range e {
		f[v] = k
	}
	fmt.Println(f) // map[e:5 a:1 b:2 c:3 d:4]
}


你可能感兴趣的文章