Go语言程序获取哈希集合的大小


在 Go 语言中,我们可以使用各种内部函数或包,如 len() 函数或 reflect 包,来获取哈希集合的大小。哈希集合包含一个哈希映射,通常用于创建键值对,并以此缩短执行时间。在本程序中,我们使用了两个示例来获取哈希集合的大小。

语法

func make ([] type, size, capacity)

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

func range(variable)

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

func len(v Type) int

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

使用 Len 函数

在这种方法中,我们将使用 Go 语言中的 make 函数创建一个哈希映射,然后使用 len 函数查找映射的长度,长度将使用 fmt 包打印到控制台。

算法

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

  • 步骤 2 − 创建一个 main 函数,并在该函数中使用 make 函数(Go 语言中的内置函数)创建一个哈希映射。

  • 步骤 3 − 将值分配给哈希映射的键(key1、key2、key3、key4)。

  • 步骤 4 − 然后,使用 len 方法计算哈希映射的长度。

  • 步骤 5 − 使用 fmt 包中的 Println 函数打印映射的长度到控制台,其中 ln 表示换行。

示例

以下示例演示了使用 len 函数获取哈希集合大小的 Go 语言程序

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 变量来计算哈希映射的大小。哈希映射的创建方式与前一个示例中相同。然后,它将被迭代,并且在每次迭代时 size 变量都会递增。

算法

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

  • 步骤 2 − 在 main 函数中使用 make 函数创建哈希映射,就像在上一个示例中所做的那样。

  • 步骤 3 − 向键元素添加值,以便创建 key1、key2、key3 和 key4。

  • 步骤 4 − 创建一个变量 size,它将告诉我们哈希映射的大小。

  • 步骤 5 − 运行一个循环直到哈希映射的范围,并在每次迭代中递增 size 变量。

  • 步骤 6 − 最后,当循环终止时,使用 Println 函数打印映射的大小,其中 ln 表示换行。

示例

以下示例说明了使用 size 变量获取哈希集合大小的 Go 语言程序

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 包

在这种方法中,我们将编写一个 Go 语言程序,使用 reflect 包中的 ValueOf 函数来获取哈希集合的大小。

算法

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

  • 步骤 2 − 创建一个 main 函数,在其中进一步创建一个哈希映射,其中键的类型为字符串,值的类型为整数

  • 步骤 3 − 然后,使用 reflect 包中的 ValueOf 函数和 Len 方法获取哈希集合的大小

  • 步骤 4 − 然后,使用 fmt 包中的 Println 函数打印哈希集合的大小,其中 ln 表示换行

示例

以下示例演示了使用 reflect 包获取哈希集合大小的 Go 语言程序

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 获取映射的大小。这两个示例都给出了所需的输出。

更新于: 2023年4月3日

319 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.