获取哈希集合大小的Golang程序
在Golang中,我们可以使用各种内部函数或包,如len()函数或reflect包,来获取哈希集合的大小。哈希集合包含哈希映射,通常用于创建键值对,基于键值对它缩短执行时间。在这个程序中,我们使用了两个例子来获取哈希集合的大小。
语法
func make ([] type, size, capacity)
Go语言中的make函数用于创建数组/映射,其中参数为要创建的变量类型、其大小和容量。
func range(variable)
range函数用于迭代任何数据类型。为了使用它,我们首先要写入range关键字,后跟要迭代的数据类型,结果是循环迭代到变量的最后一个元素。
func len(v Type) int
len()函数用于获取任何参数的长度。它将一个参数作为数据类型变量,其长度我们希望找到并返回整数值,该值是变量的长度。
使用len()函数
在这个方法中,我们将使用make函数在Golang中创建一个哈希映射,然后使用len函数来查找哈希映射的长度,长度将使用fmt包打印在控制台上。
算法
- 步骤1 − 在程序中创建程序包main并声明fmt(格式包)包,其中main生成可执行代码,fmt帮助格式化输入和输出。
-
步骤2 − 创建一个main函数,在该函数中使用make函数创建一个哈希映射,这是Golang中的内置函数。
-
步骤3 − 向哈希映射的键(key1、key2、key3、key4)分配值。
-
步骤4 − 使用len()方法计算哈希映射的长度。
-
步骤5 − 使用fmt包中的Println()函数在控制台上打印地图的长度,其中ln表示换行。
示例
以下示例演示了使用len函数的Golang程序,以获取哈希集合的大小
package main
import "fmt"
func main() {
hashmap := make(map[string]int)
hashmap["key1"] = 10
hashmap["key2"] = 20
hashmap["key3"] = 30
hashmap["key4"] = 40
fmt.Println("Size of map is:", len(hashmap))
}
输出
Size of map is: 4
使用Size变量
在这种方法中,我们将使用size变量来计算哈希映射的大小。哈希映射将类似于上一个示例中创建的方式创建。然后,它将进行迭代,并且在每次迭代时,它将递增尺寸变量。
算法
- 步骤1 − 在程序中创建程序包main并声明fmt(格式包)包,其中main生成可执行代码,fmt帮助格式化输入和输出。
-
步骤2 − 在主函数中使用make函数创建哈希映射,就像上一个示例中所做的那样。
-
步骤3 − 将值添加到键元素中,例如,创建了key1、key2、key3和key4。
-
步骤4 − 创建一个变量size,它将告诉我们哈希映射的大小。
-
步骤5 − 在哈希映射的范围内运行循环,并且在每次迭代中递增size变量。
-
步骤6 − 最后,当循环终止时,使用Println函数打印映射的大小,其中ln表示换行。
示例
以下示例演示了Golang程序如何使用size变量获取哈希集合的大小。
package main
import "fmt"
func main() {
hashmap := make(map[string]int)
hashmap["key1"] = 10
hashmap["key2"] = 20
hashmap["key3"] = 30
hashmap["key4"] = 40
var size int
for range hashmap {
size++
}
fmt.Println("Size of map is:", size)
}
输出
Size of map: 4
使用reflect包
在这个方法中,我们将编写一个Golang程序来使用reflect包中的ValueOf函数来获取哈希集合的大小。
算法
- 第1步 - 在程序中创建main包并声明fmt(格式包)包,其中main用于产生可执行代码,fmt可帮助格式化输入和输出。
-
第2步 - 创建一个main函数,其中进一步创建一个哈希表,其中键的类型为string,值的类型为int。
-
第3步 - 然后,使用reflect包中的ValueOf函数和Len方法获取哈希集合的大小。
-
第4步 - 然后,使用fmt包的Println函数打印哈希集合的大小,其中ln表示新行。
示例
下面的示例演示了使用reflect包获取哈希集合大小的Golang程序。
package main
import (
"fmt"
"reflect"
)
func main() {
hashmap := map[string]int{
"pencil": 10,
"pen": 20,
"scale": 30,
}
size := reflect.ValueOf(hash).Len()
fmt.Println("The size of hash collection is:", size)
}
输出
Found pen with value 10
结论
我们使用了获取哈希集合大小的两个示例来执行此程序。在第一个示例中,我们使用了len方法来获取映射的大小,在第二个示例中,我们使用了一个变量size来获取映射的大小。这两个示例都给出了期望的输出。