Golang 遍历散列集合并仅打印值

Golang 遍历散列集合并仅打印值

在Golang中,我们可以使用哈希映射和键函数来遍历哈希集合。哈希映射被认为是哈希集合之一。在哈希映射中,数据以键值对的形式存储,就像我们在下面所做的那样。在这个程序中,我们将使用三种方法来遍历哈希映射并打印其值。

语法

func make ([] type, size, capacity)

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

func append(slice, element_1, element_2…, element_N) []T

append函数用于向数组切片中添加值。它接受多个参数。第一个参数是要向其添加值的数组,其后为要添加的值。然后该函数返回包含所有值的最终数组切片。

func range(variable)

range函数用于迭代任何数据类型。要使用这个功能,我们首先需要写上range关键字,然后跟上要迭代的数据类型,循环将迭代到变量的最后一个元素。

在哈希映射上使用迭代

在这种方法中,我们将使用映射字面量创建一个哈希映射,使用for循环迭代哈希映射,并在每次迭代中打印值。

步骤

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

  • 步骤2 - 创建一个main函数,并在该函数中使用字符串类型的键和int类型的值创建一个映射。

  • 步骤3 - 在映射中创建三个键值对,键为val1、val2、val3,值为10、20和30。

  • 步骤4 - 在这一步中,迭代循环遍历映射,并在控制台打印值。

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

示例

以下示例展示了使用迭代遍历哈希映射并仅打印值的Golang程序。

package main

import "fmt"

func main() {

   hashmap := map[string]int{
      "val1": 10,        
      "val2": 20,
      "val3": 30,
   }
   fmt.Println("The hashmap is iterated as follows:")
   for _, value := range hashmap {  
      fmt.Println(value) 
   }
}

输出

The hashmap is iterated as follows:
10
20
30

使用键的值

在这种方法中,将创建一个哈希图,并创建一个新的切片values,将哈希图中的键的值附加到其中,然后迭代该切片,在控制台上打印出这些值。

步骤

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

  • 步骤2 - 创建一个哈希图,类似于第一个案例中使用map文字创建的哈希图。

  • 步骤3 - 在此步骤中,使用内置函数make创建一个名为values的切片,其长度与哈希图相同。

  • 步骤4 - 然后,迭代哈希图,并将哈希图的值附加到新切片values中。

  • 步骤5 - 然后,迭代附加了值的切片,并在每次迭代中打印出每个值。

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

示例

以下示例演示了Golang程序中如何迭代哈希集合并只打印使用键的值。

package main

import "fmt"

func main() {

   hashmap := map[string]int{
      "val1": 10,
      "val2": 20,
      "val3": 30,
   }    
   values := make([]int, 0, len(hashmap))
   for _, value := range hashmap {
      values = append(values, value)
   }    
   fmt.Println("The hashmap is iterated as follows:")
   for _, value := range values {
      fmt.Println(value)
   }
}

输出

The hashmap is iterated as follows:
10
20
30

使用键

在这个示例中,我们将创建一个哈希映射,就像前面两个示例中创建的一样,但是这里的区别在于我们将创建一个名为keys的切片,哈希映射的键将被添加到这个切片中,然后通过索引迭代此切片以打印值。

步骤

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

  • 步骤2 - 创建一个哈希映射,并像以上示例中所做的那样添加键值对。

  • 步骤3 - 使用make函数创建一个名为keys的切片,其长度与哈希映射相同。

  • 步骤4 - 通过哈希映射迭代将其键添加到上面创建的keys切片中。

  • 步骤5 - 在这一步中,使用sort包的Strings函数对键进行排序。

  • 步骤6 - 由于键没有排序,通过在哈希映射上使用索引遍历切片并打印键的值。

  • 步骤7 - 使用fmt包的fmt.Println()函数在控制台上打印输出,其中ln表示换行。

示例

以下示例演示了使用键迭代哈希集合并仅打印值的Golang程序。

package main

import (
   "fmt"
   "sort"
)

func main() {

   hashmap := map[string]int{
      "val1": 10,
      "val2": 20,
      "val3": 30,
   }

   keys := make([]string, 0, len(hashmap))
   for key := range hashmap {
      keys = append(keys, key)
   }

   sort.Strings(keys)

   fmt.Println("The hashmap is iterated as follows:")
   for _, key := range keys {
      fmt.Println(hashmap[key])
   }
}

输出

The hashmap is iterated as follows:
10
20
30

结论

我们执行了通过散列集合进行迭代的程序,并举了三个示例。在第一个示例中,我们创建了一个哈希映射并遍历它以打印键的值。在第二个示例中,我们创建了一个值切片,在第三个示例中我们创建了一个键切片来打印值。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程