Go语言程序检查哈希集合是否为空


在本文中,我们将编写一个 Go 语言程序来检查哈希集合是否为空。哈希集合是一种数据结构,它在 Go(Golang)中包含键值对,并支持快速查找、添加和删除。可以通过将键哈希到索引中来访问对应于该键的值。

Go 中以 map 形式存在的哈希集合有内置支持。这里,map 是一种引用类型,通过使用 map 关键字声明,后跟键类型和值类型,格式如下。

语法

func make ([] type, size, capacity)

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

func len(v Type) int

len() 函数用于获取任何参数的长度。它接受一个参数作为要查找其长度的数据类型变量,并返回一个整数,即变量的长度。

func range(variable)

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

算法

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

  • 步骤 2 − 创建一个 main 函数,并在该函数内部使用 make 函数和 map 字面量创建一个名为 map_create 的 map。

  • 步骤 3 − 在此步骤中,检查创建的 map 的长度是否等于 0。

  • 步骤 4 − 如果步骤 3 中的条件满足,则打印 map 为空,否则打印 map 不为空,使用 if-else 条件。

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

示例 1

在此示例中,我们将使用 len 函数来检查 map 是否为空。我们将使用 make 函数(一种内置函数类型)创建一个 map。然后,我们将对 map 使用 len 方法以获取输出。

package main

import "fmt"

func main() {
   map_create := make(map[string]int) 
   if len(map_create) == 0 {
      fmt.Println("Map is empty")
   } else {
      fmt.Println("Map is not empty")   
   }
}

输出

Map is empty

示例 2

在此示例中,我们将使用一个外部函数,该函数将返回一个布尔值,指示 map 是否为空。在这种情况下,将使用 if-else 条件通过操作从函数返回的值来查看 map 是否为空。

package main

import "fmt"

func is_map_empty(map_create map[string]int) bool {
   return len(map_create) == 0
}

func main() {
   map_create := make(map[string]int)

   if is_map_empty(map_create) {
      fmt.Println("Map is empty")
   } else {
      fmt.Println("Map is not empty")
   }
}

输出

Map is empty

示例 3

在此示例中,我们将编写一个 Golang 程序,使用 empty 标志检查哈希集合是否为空,其中默认值将设置为 true。

package main

import "fmt"

func main() {
   hashmap := make(map[string]string)	
   empty := true
   for key, _ := range hashmap {
      if key != "" {
         empty = false
         break
      }
   }

   if empty {
      fmt.Println("Hash is empty")
   } else {
      fmt.Println("Hash is not empty")
   }
   
   hashmap["key1"] = "value1"	
	empty = true
   for key, _ := range hashmap {
      if key != "" {
         empty = false
         break
      }
   }

   if empty {
      fmt.Println("Hash is empty")
   } else {
      fmt.Println("Hash is not empty")
   }
}

输出

Hash is empty
Hash is not empty

结论

我们使用三个示例执行了检查哈希集合是否为空的程序。在第一个示例中,我们使用 len 函数执行程序,在第二个示例中,我们使用一个返回值为布尔的外部函数,在第三个示例中,我们使用 empty 标志执行程序。

更新于: 2023年4月3日

191 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.