Golang 从哈希集合中删除所有项目

Golang 从哈希集合中删除所有项目

在Golang中,我们可以使用delete关键字或empty map从哈希集合中删除所有元素。哈希映射是哈希集合的一种数据结构。它是哈希表的一种实现,执行时间为O(1)常数时间。在这个程序中,我们将使用两种方法从哈希集合中删除所有项目。

语法

func make ([] type, size, capacity)

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

func range(variable)

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

使用delete关键字

在这个示例中,我们将编写一个Golang程序,以创建一个包含所需键值对的哈希映射。然后,我们将运行一个循环,循环范围为哈希映射的长度,并在每次迭代中使用delete关键字删除每个元素。

步骤

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

  • 步骤2 - 使用map字面量创建一个哈希映射,键的类型为string,值的类型为int。

  • 步骤3 - 给键分配适当的值,例如key1=10,key2=20,key3=30。

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

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

示例

以下示例将帮助我们了解如何创建一个Golang程序,使用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表示换行。

示例

以下示例显示了如何创建一个Golang程序,使用空映射从哈希集合中删除所有项。

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关键字来删除项,在第二个示例中,我们使用了一个空映射来执行程序。两个示例都返回了预期的输出。因此,程序成功执行。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程