Golang 获取哈希集合的大小
在Golang中,我们可以使用各种内部函数或包,如len()函数或reflect包,来获取哈希集合的大小。哈希集合包含一个哈希映射,通常用于创建键值对,并根据此缩短执行时间。在这个程序中,我们使用了两个示例来获取哈希集合的大小。
语法
func make ([] type, size, capacity)
在Go语言中,make函数用于创建数组/映射,它接受要创建的变量的类型、大小和容量作为参数。
func range(variable)
range()函数用于迭代任何数据类型。使用此函数,我们首先需要编写range关键字,后跟我们要迭代的数据类型,结果循环将迭代到变量的最后一个元素。
func len(v Type) int
len()函数用于获取任何参数的长度。它接受一个参数作为我们希望找到长度的数据类型变量,并返回整数值,该值是变量的长度。
使用Len函数
在这种方法中,我们将使用Golang中的make函数创建一个哈希映射,然后使用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变量来计算hashmap的大小。hashmap的创建方式与前面的示例类似。然后,遍历hashmap,并在每次迭代中递增size变量。
步骤
- 步骤1 - 在程序中创建一个main包,并声明fmt(格式化包)包,其中main产生可执行代码,fmt帮助格式化输入和输出。
-
步骤2 - 在main函数中使用make函数创建一个hashmap,就像上一个示例中一样。
-
步骤3 - 添加值给键元素,比如创建key1、key2、key3和key4。
-
步骤4 - 创建一个名为size的变量,用于表示hashmap的大小。
-
步骤5 - 循环遍历hashmap的范围,并在每次迭代中增加size变量。
-
步骤6 - 最后,当循环结束时,使用Println函数输出map的大小,其中ln表示换行。
示例
以下示例演示了使用size变量获取哈希集合的大小的Golang程序。
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(format 包) 包,其中 main 生成可执行代码,fmt 在输入和输出的格式化方面起到帮助作用。
-
步骤 2 - 在此处创建一个主函数,进一步创建一个哈希映射,其中键的类型为 string,值的类型为 int。
-
步骤 3 - 然后,使用 reflect 包中的 ValueOf 函数和 Len 方法获取哈希集合的大小。
-
步骤 4 - 然后,使用 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方法来获取map的大小,在第二个示例中,我们使用一个变量size来获取map的大小。这两个示例都给出了所期望的输出。