【GO】Map练习题

创建和初始化map

题目描述

请使用两种不同的方法创建并初始化一个存储学生成绩的map,具体要求如下:

  1. map的键值对类型 :键为string类型(学生姓名),值为int类型(成绩)

  2. 包含的学生数据

    • 张三:85分

    • 李四:92分

    • 王五:78分

  3. 两种不同的初始化方式

    • 方式1:使用map字面量直接初始化

    • 方式2:使用make函数创建后再赋值

输出示例

方式1:map[张三:85 李四:92 王五:78]

方式2:map[张三:85 李四:92 王五:78]

实现代码

Go 复制代码
package main

import "fmt"

func main() {
    // 方式1:使用字面量直接创建并初始化
    map1 := map[string]int{
        "张三": 85,
        "李四": 92,
        "王五": 78,
    }
    
    // 方式2:使用make创建,然后逐个赋值
    map2 := make(map[string]int)
    map2["张三"] = 85
    map2["李四"] = 92
    map2["王五"] = 78
    
    // 输出两种方式的结果
    fmt.Printf("方式1:%v\n", map1)
    fmt.Printf("方式2:%v\n", map2)
}

访问map元素

题目描述

创建map存储商品价格:{"苹果":5.5, "香蕉":3.2, "橙子":4.8, "葡萄":12.5},输出指定商品的价格。

输出示例

苹果价格:5.5元

香蕉价格:3.2元

葡萄价格:12.5元

实现代码

Go 复制代码
package main

import "fmt"

func main() {
    prices := map[string]float64{
        "苹果": 5.5,
        "香蕉": 3.2,
        "橙子": 4.8,
        "葡萄": 12.5,
    }
    
    fmt.Printf("苹果价格:%.1f元\n", prices["苹果"])
    fmt.Printf("香蕉价格:%.1f元\n", prices["香蕉"])
    fmt.Printf("葡萄价格:%.1f元\n", prices["葡萄"])
}

删除元素

题目描述

创建map存储城市人口:{"北京":2189, "上海":2487, "广州":1874, "深圳":1768},删除广州的数据,输出删除后的map。

输出示例

原map:map[北京:2189 上海:2487 广州:1874 深圳:1768]

删除广州后:map[北京:2189 上海:2487 深圳:1768]

实现代码

Go 复制代码
package main

import "fmt"

func main() {
    cities := map[string]int{
        "北京": 2189,
        "上海": 2487,
        "广州": 1874,
        "深圳": 1768,
    }
    
    fmt.Printf("原map:%v\n", cities)
    
    delete(cities, "广州")
    
    fmt.Printf("删除广州后:%v\n", cities)
}

图书管理系统

题目描述

创建一个图书管理系统,使用map存储图书信息(书号->书名)。完成以下操作:

  1. 初始化添加3本书:{"B001":"Go语言入门", "B002":"Python编程", "B003":"Java核心技术"}

  2. 查询并输出B002的书名

  3. 修改B003的书名为"Java高级编程"

  4. 添加新书B004:"数据库原理"

  5. 删除B001

  6. 输出最终所有图书

输出示例

初始图书:map[B001:Go语言入门 B002:Python编程 B003:Java核心技术]

查询B002:Python编程

修改后:map[B001:Go语言入门 B002:Python编程 B003:Java高级编程]

添加B004后:map[B001:Go语言入门 B002:Python编程 B003:Java高级编程 B004:数据库原理]

删除B001后:map[B002:Python编程 B003:Java高级编程 B004:数据库原理]

实现代码

Go 复制代码
package main

import "fmt"

func main() {
    // 1. 初始化图书
    books := map[string]string{
        "B001": "Go语言入门",
        "B002": "Python编程",
        "B003": "Java核心技术",
    }
    fmt.Printf("初始图书:%v\n", books)
    
    // 2. 查询B002
    fmt.Printf("查询B002:%s\n", books["B002"])
    
    // 3. 修改B003
    books["B003"] = "Java高级编程"
    fmt.Printf("修改后:%v\n", books)
    
    // 4. 添加B004
    books["B004"] = "数据库原理"
    fmt.Printf("添加B004后:%v\n", books)
    
    // 5. 删除B001
    delete(books, "B001")
    fmt.Printf("删除B001后:%v\n", books)
}
相关推荐
Geoking.6 小时前
【新手向】go语言最新下载及安装配置教程
开发语言·后端·golang
ん贤6 小时前
Go map 底层原理
算法·golang·map
Meepo_haha8 小时前
Go基础之环境搭建
开发语言·后端·golang
@PHARAOH11 小时前
HOW - Go 开发入门(一)
开发语言·后端·golang
dgvri1 天前
Windows上安装Go并配置环境变量(图文步骤)
开发语言·windows·golang
AMoon丶1 天前
Golang--协程调度
linux·开发语言·后端·golang·go·协程·goroutine
暴躁小师兄数据学院1 天前
【WEB3.0零基础转行笔记】Go编程篇-第11讲:Gin框架
笔记·golang·web3·区块链·智能合约
AMoon丶1 天前
Golang--锁
linux·开发语言·数据结构·后端·算法·golang·mutex
王的宝库2 天前
Go 语言:结构体:定义、初始化、方法、组合、Tag、对齐
开发语言·后端·学习·golang