Golang程序 将项目存储到哈希集合中

Golang程序 将项目存储到哈希集合中

在 Golang 中,Hashmap 是哈希集合的一部分,它以 key:value 对的形式存储数值。在这篇文章中,我们将用两个不同的例子来存储哈希集合中的项目。在第一个例子中,索引将被用于在地图中存储项目,在第二个例子中,项目结构将被用于存储项目。

语法

func make ([] type, size, capacity)

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

算法

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

  • 使用map literal创建一个hashmap,并使函数的键为字符串类型,其值为int类型。

  • 使用索引将数值添加到hashmap中,如pencil=10,pen=20,scale=15。

  • 添加完这些值后,在控制台打印哈希图。

  • 在这一步,我们将通过使用索引访问一个键的值来操作哈希图。

  • 然后,我们将再次使用索引来更新一个键的值。

  • 然后,我们将使用delete函数从地图中删除一个特定的键,并在控制台中打印更新的地图。

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

例1

在这个例子中,我们将使用make内置函数创建一个hashmap,然后使用索引在map中添加所需的值。在这里,我们将使用三个值,然后用fmt包将它们打印在终端上,并使用不同的操作来操作哈希图。让我们看一下代码和算法,看看它的实际工作情况。

package main

import "fmt"

func main() {

   // Initialize an empty map with string keys and integer values
   hashmap := make(map[string]int)

   // Add some items to the map
   hashmap["pencil"] = 10
   hashmap["pen"] = 20
   hashmap["scale"] = 15

   // Print the entire map
   fmt.Println("The hashmap created above is: ")
   fmt.Println(hashmap)

   // Access a specific item by its key
   fmt.Println("The value of specific element from hashmap is:")
   fmt.Println(hashmap["pencil"])

   // Update the value of an existing item
   hashmap["scale"] = 20

   // Delete an item from the map
   delete(hashmap, "pencil")

   // Print the updated map
   fmt.Println("The hashmap after deleting an item from it is:")
   fmt.Println(hashmap)
}

输出

The hashmap created above is: 
map[pen:20 pencil:10 scale:15]
The value of specific element from hashmap is:
10
The hashmap after deleting an item from it is:
map[pen:20 scale:20]

例2

在这个例子中,我们将像上一个例子那样创建一个哈希图,但在这里我们也将创建一个项目结构实例来创建键:值对,然后将这些项目添加到哈希图中并操作哈希图。输出将使用fmt包打印。让我们看看代码和算法。

package main

import "fmt"

// Define a struct to represent an item
type Item struct {
   Name     string
   Quantity int 
}

func main() {
   // Initialize an empty map with string keys and Item values
   hashmap := make(map[string]Item)

   // Create item instances and add them to hashmap
   pen := Item{Name: "pen", Quantity: 10}
   pencil := Item{Name: "pencil", Quantity: 20}
   registers := Item{Name: "registers", Quantity: 30}
   hashmap[pen.Name] = pen
   hashmap[pencil.Name] = pencil
   hashmap[registers.Name] = registers

   // Print the entire map
   fmt.Println("The entire map is presented as follows: ")
   fmt.Println(hashmap)

   // Access a specific item by its key
   fmt.Println("The value of the element is accessed as follows:")
   fmt.Println(hashmap["pencil"])

   // Update the value of an existing item
   pen.Quantity = 50
   hashmap[pen.Name] = pen

   // Delete an item from the map
   delete(hashmap, pencil.Name)

   // Print the updated map
   fmt.Println("The updated map after deleting the data item is:")
   fmt.Println(hashmap)
}

输出

The entire map is presented as follows: 
map[pen:{pen 10} pencil:{pencil 20} registers:{registers 30}]
The value of the element is accessed as follows:
{pencil 20}
The updated map after deleting the data item is:
map[pen:{pen 50} registers:{registers 30}]

结论

我们用两个例子执行了将项目存储到哈希集合的程序。在第一个例子中,我们使用索引来存储项目,在第二个例子中,我们使用结构来存储项目。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程