golang中map的声明和简单使用

package main

import (
    "fmt"
)

//map是key-value数据结构,又称为字段或者关联数组。类似其他编程语言的集合。
//keykey是什么类型
//golang中的map的key可以是很多种类型,比如bool,数字,string,指针,channel,还可以是只包含前面几个类型的借口,结构体,数组
//通常为int,string类型

//声明map

func main() {
    //map使用的三种方式
    //1
    var a map[string]string //key为string,值为int

    //声明是不会分配内存的,初始化需要make,分配内存后才能赋值和使用
    a = make(map[string]string, 10) //key不能重复,如果重复则以最后的key为准,key也是无序的
    a["no1"] = "星空守望者"
    a["no2"] = "未来守护者"
    a["no3"] = "星空守望者" //值可以重复
    fmt.Println(a)

    //2
    city := make(map[string]string)
    city["1"] = "北京"
    city["2"] = "上海"
    city["3"] = "成都"
    fmt.Println(city)

    //3
    //var hero map[string]string = map[string]string
    hero := map[string]string{

        "no1": "钢铁侠",
        "no2": "美国队长",
        "no3": "蜘蛛侠",
        "no4": "鹰眼",
        "no5": "黑寡妇",
    }
    fmt.Println(hero)

    //存放三个学生信息,每个学生有name和sex以及address
    id := make(map[string]map[string]string) //key为string,值为map[string]string
    id["no1"] = make(map[string]string, 3)
    id["no1"]["name"] = "李华"
    id["no1"]["sex"] = "男"
    id["no1"]["address"] = "成都双流区"

    fmt.Println(id)
}

  

posted @ 2022-03-02 21:25  Star_Gazer  阅读(467)  评论(0编辑  收藏  举报