Go基础_1_25 map数据类型

Tutorial: Go初级 Category: Go Published: 2026-04-07 13:58:26 Views: 21 Likes: 0 Comments: 0
package main

import "fmt"

func main() {
    /*
        一:数据类型:
            基本数据类型:int,float,string,bool
            复合数据类型:array,slice,map,function,pointer,struct。。。

                array:[size]数据类型
                slice:[]数据类型
                map:map[key的类型]value的类型

        二:存储特点:
            值类型:int,float,string,bool,array,struct
            引用类型:slice,map
                make(),slice,map,chan

    */

    map1 := make(map[int]string)
    map2 := make(map[string]float64)
    fmt.Printf("%T\n", map1) // map[int]string
    fmt.Printf("%T\n", map2) // map[string]float64

    map3 := make(map[string]map[string]string) // map[string]map[string]string
    m1 := make(map[string]string)
    m1["name"] = "王二狗"
    m1["age"] = "30"
    m1["salary"] = "3000"
    map3["hr"] = m1
    m2 := make(map[string]string)
    m2["name"] = "ruby"
    m2["age"] = "28"
    m2["salary"] = "8000"
    map3["总经理"] = m2
    fmt.Println(map3) // map[hr:map[age:30 name:王二狗 salary:3000] 总经理:map[age:28 name:ruby salary:8000]]

    fmt.Println("---------------")

    map4 := make(map[string]string)
    map4["王二狗"] = "矮矬穷"
    map4["李小花"] = "白富美"
    map4["ruby"] = "住在隔壁"

    fmt.Println(map4) // map[ruby:住在隔壁 李小花:白富美 王二狗:矮矬穷]

    map5 := map4
    fmt.Println(map5) // map[ruby:住在隔壁 李小花:白富美 王二狗:矮矬穷]

    map5["王二狗"] = "高富帅"
    fmt.Println(map4) // map[ruby:住在隔壁 李小花:白富美 王二狗:高富帅]
    fmt.Println(map5) // map[ruby:住在隔壁 李小花:白富美 王二狗:高富帅]

}