添加和删除元素
Coddy Go 中的切片和映射 课程的第 19 课,共 21 课。
Golang 中的 映射就像数组和切片一样。要向映射中添加新元素,我们使用与数组相同的语法,不过在映射中,我们需要同时指定键和值。例如,假设我们有这样一个映射:
var books = map[string]int{
"Python": 1,
"JavaScript": 2,
"Rust": 3,
}要添加新元素,可以这样做:
books["Golang"] = 4如果我们打印这个映射,就会看到其中有 Golang:
map[Golang:4 JavaScript:2 Python:1 Rust:3]你可能注意到了,映射不会对元素排序。这是因为映射不太关心元素的顺序,而是优先考虑快速检索结果。
请注意,向映射添加新元素时,应该使用与映射值类型相同的类型。
例如,不能这样做:
books["Golang"] = "Learn Golang"因为原映射中的值是整数类型,而不是字符串类型。
现在我们已经学会了如何添加和获取元素,那么如果需要从映射中删除元素,该怎么做呢?
为此,我们可以使用一个名为 delete 的内置函数。语法如下:
假设我们需要删除第一个元素,也就是 "Python":
delete(books, "Python")我们使用关键字 delete,并在括号中放入映射名称和要删除的键。在这个例子中,键是 "Python"。
挑战
简单在给定的代码中,我们定义了一个包含 6 个元素的映射。完成以下步骤:
- 添加一个新元素,键为 6,值为“orange”。
- 删除键为 10 的元素。
- 使用 for 循环,按顺序从 1 开始打印映射,直到 末尾。
亲手试试
package main
import "fmt"
func main() {
// 定义一个包含 6 个元素的 map,不要修改它!
fruits := map[int]string{
1: "apple",
2: "banana",
3: "cherry",
4: "date",
5: "elderberry",
10: "fig",
}
// 添加一个新元素,键为 6,值为 "orange"
// 删除键为 10 的元素
// 使用 for 循环,从 1 开始按顺序打印 map 中的所有元素
}Go 中的切片和映射中的所有课
自己练习: Go 在线编译器