Golang程序 将哈希集合转换为数组

Golang程序 将哈希集合转换为数组

在Go编程语言中,哈希集合包含一个哈希图,它以键:值对的形式保存数值。在这里,在这个特殊的程序中,我们将把map转换成数组,数组的大小是固定的,可以通过索引进行访问。我们将使用两个例子来执行这个程序。在第一个例子中,我们将使用一个索引变量来添加数组中的值,在第二个例子中,我们将使用一个append方法来添加数组中的值。

语法

func make ([] type, size, capacity)

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

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

append函数用于向一个数组片断添加值。它需要一些参数。第一个参数是我们希望添加的数组,后面是要添加的值。然后,该函数返回包含所有值的数组的最终片断。

算法

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

  • 使用map literal创建一个hashmap,其键和值都是字符串类型。

  • 在这一步,使用make函数(Golang中的一个内置函数)创建一个与hashhmap的长度相似的数组。

  • 创建一个I变量,并将其初始化为0,然后在hashmap上运行一个循环,并在每次迭代时将hashmap上的值分配给数组索引。

  • 在每个迭代中增加第1个变量,在循环结束后,在控制台打印数组。

  • 打印语句是通过fmt包中的Println()函数执行的,其中ln表示新行。

例1

在这个例子中,我们将使用map literal创建一个hashmap,其中的键和值都是字符串。然后创建一个空的数组,在这个数组中,将使用一个索引变量添加hashmap中的值,然后使用fmt包将数组打印在控制台。

package main

import "fmt"

//Main function to execute the program
func main() {

   // create a hash collection
   hashmap := map[string]string{
      "item1": "value1",
      "item2": "value2",
      "item3": "value3",
   }

   // create an array to add the values from map
   array := make([]string, len(hashmap))

   // iterate over the keys of the hash collection and store the corresponding values in the array
   i := 0
   for _, value := range hashmap {
      array[i] = value
      i++
   }

   // print the array on the terminal
   fmt.Println("The hash collection conversion into array is shown as:")
   fmt.Println(array)
}

输出

The hash collection conversion into array is shown as:
[value1 value2 value3]

例2

在这个例子中,我们像上一个方法一样创建一个hashmap,并创建一个字符串类型的数组来保存map的值,然后迭代map并使用append方法在数组中添加值,这是Golang的一个内置方法。

package main

import "fmt"

//Main function to execute the program
func main() {

   // create a hash collection
   hashmap := map[string]string{
      "item1": "value1",
      "item2": "value2",
      "item3": "value3",
   }

   // create an empty array in which values will be added from hash collection
   array := []string{}

   // iterate over the keys of the hash collection and append the corresponding values to the array
   for key := range hashmap {
      value := hashmap[key]
      array = append(array, value)
   }

   // print the resulting array
   fmt.Println("The conversion of the hash collection into array is shown like:")
   fmt.Println(array)
}

输出

The conversion of the hash collection into array is shown like:
[value1 value2 value3]

总结

我们用两个例子执行了将哈希集合转换为数组的程序。在这两个例子中,我们都创建了空数组来保存map的值,但是在第一个例子中我们使用了i变量和索引来添加值,在第二个例子中我们使用了append方法来添加数组中的值。这两个例子都返回了类似的输出。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程