创建和初始化map
题目描述
请使用两种不同的方法创建并初始化一个存储学生成绩的map,具体要求如下:
map的键值对类型 :键为
string类型(学生姓名),值为int类型(成绩)包含的学生数据:
张三:85分
李四:92分
王五:78分
两种不同的初始化方式:
方式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存储图书信息(书号->书名)。完成以下操作:
初始化添加3本书:{"B001":"Go语言入门", "B002":"Python编程", "B003":"Java核心技术"}
查询并输出B002的书名
修改B003的书名为"Java高级编程"
添加新书B004:"数据库原理"
删除B001
输出最终所有图书
输出示例
初始图书: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)
}