Golang 获取哈希集合值作为数组

Golang 获取哈希集合值作为数组

在Go编程语言中,哈希集合包含一个哈希映射,它以键值对的形式存储值,以便程序能够高效地执行。在本文中,我们将使用两个示例来将哈希集合的值作为数组获取。在第一个示例中,我们将创建一个切片,并将映射的字符串附加到该切片中;在第二个示例中,我们将哈希字符串并将其存储在映射内。通过这种方式,我们将打印出该数组。

语法

func make ([] type, size, capacity)

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

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

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

步骤

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

  • 使用map字面量创建一个HashMap,其中键和值的类型都是字符串。

  • 使用Golang的make函数创建一个与HashMap长度相似的空数组。

  • 迭代HashMap直到其范围,并使用append方法将map的值添加到数组中。

  • 使用fmt包中的Println函数在控制台上打印数组的值,其中ln表示换行。

示例1

在这个示例中,我们将使用map字面量创建一个HashMap,然后使用内置函数Golang的make函数将HashMap的值追加到数组中。使用fmt包将值数组打印在控制台上。让我们看看这个示例以了解工作原理的过程。

package main

import (
   "fmt"
)

func main() {
   hashmap := map[string]string{ //create a map 
      "item1": "value1",
      "item2": "value2",
      "item3": "value3",
   }

   values := make([]string, 0, len(hashmap))

   for _, v := range hashmap {
      values = append(values, v) //append the map strings in the slice
   }
   fmt.Println("The hash collection value as an array is printed as:")
   fmt.Println(values) //print the slice
}

输出

The hash collection value as an array is printed as:
[value1 value2 value3]

示例2

在这个示例中,我们将创建一个字符串切片,然后我们将遍历这些字符串、对它们进行哈希运算,并将它们存储在新的映射中。映射值将被转换为一个数组,并使用fmt包打印在控制台上。让我们通过代码和算法来理解执行过程。

package main

import (
   "crypto/sha256"
   "fmt"
)

func main() {

   // Create a slice of strings to hash
   data_val := []string{"a", "b", "c", "d"}

   // Create a map to store the hash values
   hashes := make(map[string][32]byte)

   //hash the string and store it inside the map
   for _, str := range data_val {
      hash := sha256.Sum256([]byte(str))
      hashes[str] = hash
   }

   // Convert the map values to an array and print it
   var arr [][32]byte
   for _, value := range hashes {
      arr = append(arr, value)
   }
   fmt.Println(arr)
}

输出

[[202 151 129 18 202 27 189 202 250 194 49 179 154 35 220 77 167 134 239 248 20 124 78 114 185 128 119 133 175 238 72 187] [62 35 232 22 0 57 89 74 51 137 79 101 100 225 177 52 139 189 122 0 136 212 44 74 203 115 238 174 213 156 0 157] [46 125 44 3 169 80 122 226 101 236 245 181 53 104 133 165 51 147 162 2 157 36 19 148 153 114 101 161 162 90 239 198] [24 172 62 115 67 240 22 137 12 81 14 147 249 53 38 17 105 217 227 245 101 67 100 41 131 15 175 9 52 244 248 228]]

结论

我们执行并编译了使用两个示例获取哈希集合值的程序。在第一个示例中,我们创建了一个切片,并将其中的字符串添加到地图中,在第二个示例中,我们创建了一个地图,对字符串进行了哈希处理,并将这些字符串添加到地图中,然后将地图的值转换为数组。因此,该程序成功执行。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程