Go语言中的map

map是一个集合,可以使用类似处理数组和切片的方式迭代map中的元素。但map是无序的集合。无序的原因是map的实现使用了散列表。

map的创建并初始化主要是两种方式:

     1.内置的make函数

     2.使用map字面量 

package test

import (
    "fmt"
    "testing"
)

func TestMap1(t *testing.T) {

    var m = map[int]string{}  //m = make(map[int]string)

    m[1] = "a"

    fmt.Println(m[1])

}

func TestMap2(t *testing.T) {
    type PersonInfo struct {
        ID      string
        Name    string
        Address string
    }
    var personDB map[string]PersonInfo
    personDB = make(map[string]PersonInfo)
    // 往这个map里插入几条数据
    personDB["12345"] = PersonInfo{"12345", "Tom", "Room 203,..."}
    personDB["1"] = PersonInfo{"1", "Jack", "Room 101,..."}

    person, ok := personDB["1234"]
    if ok {
        fmt.Println("Found person", person.Name, "with ID 1234.")
    } else {
        fmt.Println("Did not find person with ID 1234.")
    }
}

补充说明,要注意以下两行的区别 :

   

var colors = map[string]string{}  //创建和初始化
var colors map[string]string //通过声明映射创建一个nil映射,nil映射不能用于存储健值对。

猜你喜欢

转载自www.cnblogs.com/hzhuxin/p/9228876.html