Go 语言程序:移除哈希集合中的所有元素


在 Go 语言中,我们可以使用 `delete` 关键字或空映射来移除哈希集合中的所有元素。哈希映射是哈希集合中的一个数据结构。它是一种哈希表的实现,执行时间复杂度为 O(1)(常数时间)。在本程序中,我们将使用两种方法移除哈希集合中的所有元素。

语法

func make ([] type, size, capacity)

Go 语言中的 `make` 函数用于创建数组/映射,它接受要创建的变量的类型、大小和容量作为参数。

func range(variable)

`range` 函数用于迭代任何数据类型。要使用它,我们首先需要编写 `range` 关键字,后跟我们要迭代的数据类型,循环将迭代到变量的最后一个元素。

使用 Delete 关键字

在本例中,我们将编写一个 Go 语言程序来创建一个具有所需键值对的哈希映射。然后,我们将运行一个循环,直到哈希映射的范围,并在每次迭代中使用 `delete` 关键字删除每个元素。

算法

  • 步骤 1 - 创建一个 `main` 包,并在程序中声明 `fmt`(格式化包),其中 `main` 生成可执行代码,`fmt` 帮助格式化输入和输出。

  • 步骤 2 - 使用映射字面量创建一个哈希映射,键的类型为字符串,值的类型为整数。

  • 步骤 3 - 为键分配合适的值,例如 `key1=10`、`key2=20`、`key3=30`。

  • 步骤 4 - 运行一个循环,直到哈希映射的范围,并通过将哈希映射和键作为输入传递给 `delete` 函数来删除映射中的键。在每次迭代中删除每个键。

  • 步骤 5 - 使用 `fmt.Println()` 函数(来自 `fmt` 包,其中 `ln` 表示换行)在控制台上打印哈希映射。

示例

以下示例将帮助我们理解如何创建 Go 语言程序,使用 `delete` 关键字移除哈希集合中的所有元素。

package main

import "fmt"

func main() {
	
   hashmap := map[string]int{
      "key1": 10,
      "key2": 20,
      "key3": 30,
   }
	
   for key := range hashmap {
      delete(hashmap, key)
   }            
   fmt.Println("The map after its elements are removed:")
   fmt.Println(hashmap) 
}

输出

The map after its elements is removed:
map[]

使用空映射

在这种方法中,我们将使用映射字面量创建一个类似于上一个示例的哈希映射。然后,我们将创建一个另一个空映射,并将哈希映射赋值给该空映射。元素将被移除,输出将打印到控制台。

算法

  • 步骤 1 - 创建一个 `main` 包,并在程序中声明 `fmt`(格式化包),其中 `main` 生成可执行代码,`fmt` 帮助格式化输入和输出。

  • 步骤 2 - 使用 `map` 函数创建一个哈希映射,键的类型为字符串,值的类型为整数。

  • 步骤 3 - 在此步骤中,为键分配值,例如 `key1=10`、`key2=20`、`key3=30`。

  • 步骤 4 - 现在,使用 `make` 函数(一种内置函数)创建的空映射赋值给哈希映射。

  • 步骤 5 - 在控制台上打印哈希映射,基本上是一个空映射。

  • 步骤 6 - 打印语句使用 `fmt.Println()` 函数执行,其中 `ln` 表示换行。

示例

以下示例展示了如何创建 Go 语言程序,使用空映射移除哈希集合中的所有元素。

package main

import "fmt"

func main() {
	
   hashmap := map[string]int{
      "key1": 10,
      "key2": 20,
      "key3": 30,
   }
	
   hashmap = make(map[string]int)	
   fmt.Println("The hashmap after its elements are removed:")
   fmt.Println(hashmap) 
}

输出

The hashmap after its elements are removed:
map[]

结论

我们使用两个示例执行了移除哈希集合中所有元素的程序。在第一个方法中,我们使用 `delete` 关键字移除元素,在第二个示例中,我们使用空映射执行程序。这两个示例都返回了所需的输出。因此,程序成功执行。

更新于: 2023年4月3日

229 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告