GO map

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package main
 
import "fmt"
 
/*
    map 是引用类型
    var name = map[keyType]valueType
    map的key的类型:
        可以是多种类型,比如 bool,数组,string,指针,channel(管道) 大部分都是int活着string类型
    使用说明:
        1.使用前要make
        2.key重复后者会覆盖前者
 
*/
//map切片  切片的数据类型是map就称为是map切片 ,则map的个数就可以动态变化了
func mapSlice() {
    //声明map切片
    monster := make([]map[string]string, 1)
    monster[0] = make(map[string]string)
    monster[0]["2"] = "2"
    monster[0]["24"] = "24"
    monster[0]["1"] = "1"
    //声明一个新map
    newMap := map[string]string{"1": "1"}
    //将map添加到切片中
    monster = append(monster, newMap)
    fmt.Println("map切片是:", monster)
}
func main() {
    //map声明,这个时候是没有分配数据空间的
    var a map[string]string
    //在使用前要先分用make来分配数据空间
    a = make(map[string]string, 10)
    a["name"] = "宋江" //如果key重复后者会覆盖前者
    fmt.Println(a)
    mapUse()
    exercise()
    mapSlice()
}
 
//map的声明方式
func mapUse() {
    //方式一
    var a map[string]string
    //在使用前要先分用make来分配数据空间
    a = make(map[string]string, 10)
    fmt.Println(a)
 
    //方式二 推荐这种 比较清晰
    cities := make(map[string]string)
    cities["no1"] = "北京"
    fmt.Println(cities["no1"])
 
    //方式二
    heroes := map[string]string{"heroes1": "宋江", "heroes2": "卢俊义"}
    fmt.Println(heroes)
}
func exercise() {
    // map key是string 值有事map类型 这就是二维的了
    student := make(map[string]map[string]string)
    //只要使用到map就必须要make!!!!!!~~~~~~~~~~~~~~~~~~~~~~~~
    student["stu1"] = make(map[string]string)
    student["stu1"]["name"] = "tom"
    student["stu1"]["age"] = "20"
    //查找 并判断有没有这个值
    v, ok := student["stu1"]
    if ok {
        fmt.Println("有stu1这个值 值是:", v)
    } else {
        fmt.Println("没有stu1这个值")
    }
    fmt.Println(student)
    //map删除
    delete(student, "stu1") //map变量名称,key值
    fmt.Println(student)
}

  

posted @   不吃肉的羊  阅读(58)  评论(0编辑  收藏  举报
编辑推荐:
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
阅读排行:
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 2025成都.NET开发者Connect圆满结束
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 用一种新的分类方法梳理设计模式的脉络
历史上的今天:
2020-05-23 PHP数据类型,全局变量
点击右上角即可分享
微信分享提示