Golang程序:检查哈希集合是否为空
在本文中,我们将编写 Go 语言程序,以检查哈希集合是否为空。哈希集合是一种数据结构,在 Go(Golang)中包含键值对,并且能够进行快速查找、添加和删除。对应键的值可以通过将键哈希为索引来访问。
在 Go 中,map 形式的哈希集合具有内置支持。这里,map 是一种引用类型,通过使用 map 关键字,后跟格式中的键类型和值类型来声明。
语法
func make([]type, size, capacity)
Go 语言中的 make 函数用于创建一个数组/映射,接受要创建的变量类型、大小和容量作为参数。
func len(v Type) int
len() 函数用于获取任何参数的长度。它接受一个参数作为数据类型变量,其长度我们希望找到,并返回整数值,该值是变量的长度。
func range(variable)
range 函数用于迭代任何数据类型。为了使用这个函数,我们首先要写一个 range 关键字,后面跟着我们想要迭代的数据类型,结果循环将迭代到变量的最后一个元素。
算法
-
步骤 1 – 创建一个包 main ,并在程序中声明 fmt(格式化包),其中 main 生成可执行代码,fmt 用于格式化输入和输出。
-
步骤 2 – 创建一个 main 函数,并在此函数内使用 make 函数和 map 字面量创建名为 map_create 的映射。
-
步骤 3 – 在此步骤中,检查创建的映射的长度是否等于0。
-
步骤 4 – 如果满足步骤 3 中的条件,则打印 map 为空,否则使用 if-else 条件打印 map 不为空。
-
步骤 5 – 使用 fmt.Println() 函数执行打印语句,其中 ln 表示换行。
示例 1
在这个示例中,我们将使用 len 函数检查映射是否为空。我们将使用内置函数 make 创建一个映射。然后我们将在该映射上使用 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
在这个示例中,我们将使用一个外部函数,该函数将返回一个布尔值,指示映射是否为空。在这种情况下,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 程序,使用空标志检查哈希集合是否为空,其中默认值将设置为 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("哈希表为空")
} else {
fmt.Println("哈希表不为空")
}
hashmap["key1"] = "value1"
empty = true
for key, _ := range hashmap {
if key != "" {
empty = false
break
}
}
if empty {
fmt.Println("哈希表为空")
} else {
fmt.Println("哈希表不为空")
}
}
输出结果
哈希表为空
哈希表不为空
结论
我们使用三个示例来执行检查哈希集合是否为空的程序。在第一个示例中,我们使用len函数来执行程序,在第二个示例中,我们使用一个带有Boolean作为返回类型的外部函数,在第三个示例中,我们使用空标志来执行程序。