Menu
CoddyTech

添加和删除元素

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"。

challenge icon

挑战

简单

在给定的代码中,我们定义了一个包含 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 在线编译器