Golang 创建哈希集合
在本文中,我们将编写Golang程序,使用make函数和map函数创建哈希集合。哈希图存储键值对,可以通过索引访问。在这个程序中,我们将使用两个示例创建一个哈希集合。
语法
func make ([] type, size, capacity)
在Go语言中,make函数用于创建数组/映射,它接受要创建的变量的类型、大小和容量作为参数。
使用Make函数
在此方法中,我们将使用make函数创建一个HashMap,然后向该HashMap添加键值对。我们将以多种方式操作该HashMap,如打印键值对或打印整个映射。
步骤
- 步骤 1 - 创建一个main包,并在程序中声明fmt(格式化包),其中main生成可执行代码,fmt帮助格式化输入和输出。
-
步骤 2 - 创建一个main函数,并在该函数中使用内置的make函数创建一个HashMap。
-
步骤 3 - 在此步骤中,向HashMap的键(pen、pencil和marker)添加值。
-
步骤 4 - 使用fmt包中的Println函数将HashMap打印到控制台。
-
步骤 5 - 接下来,按照与步骤4相同的方式打印上面创建的键值对中选定键的值。
-
步骤 6 - 然后,使用if-else条件检查地图中是否存在特定键,如果存在,则打印键值对,否则打印该键没有可用的信息。
示例
以下示例演示了使用make函数创建哈希集合的Golang程序。
package main
import "fmt"
func main() {
hashmap := make(map[string]int)
hashmap["pen"] = 26
hashmap["pencil"] = 30
hashmap["marker"] = 34
fmt.Println(hashmap)
fmt.Println("The price of pencil is:", hashmap["pencil"])
value, exists := hashmap["marker"]
if exists {
fmt.Println("The price of marker is:", value)
} else {
fmt.Println("There is no information about marker")
}
}
输出
map[marker:34 pen:26 pencil:30]
The price of pencil is: 30
The price of marker is: 34
使用Map字面量
在这种方法中,我们将使用map字面量而不是make函数来创建哈希映射。其他函数的执行方式与上一个示例中的方式类似。
步骤
- 步骤1 - 创建一个”main”包,并在程序中声明fmt(格式化包),其中main生成可执行代码,fmt帮助格式化输入和输出。
-
步骤2 - 创建一个main函数,并在该函数中使用map字面量创建一个哈希映射,并为映射中的键赋值。
-
步骤3 - 在这一步中,使用fmt.Println()函数将映射打印在控制台上,这里的ln表示换行。
-
步骤4 - 在这里,打印特定的键值对以操作哈希映射。在这个示例中,我们使用了要打印到控制台上的”pencil”的值,类似于步骤3。
-
步骤5 - 在这种情况下,检查键的值是否存在于映射中,并使用if-else条件来打印键存在于映射中的值,并在没有值存在时打印无信息。
示例
以下示例演示了使用map字面量创建哈希集合的Golang程序。
package main
import "fmt"
func main() {
hashmap := map[string]int{
"pen": 24,
"pencil": 30,
"marker": 36,
}
fmt.Println(hashmap)
fmt.Println("The price of pencil is:", hashmap["pencil"])
value, exists := hashmap["marker"]
if exists {
fmt.Println("The price of marker is:", value)
} else {
fmt.Println("There is no information about marker")
}
}
输出
map[marker:36 pen:24 pencil:30]
The price of pencil is: 30
The price of marker is: 36
结论
我们执行了使用两个示例创建哈希集合的程序。这两个示例的执行方式相似,但它们之间的基本区别在于第一种情况下,哈希映射是使用Golang中的内置函数make创建的,而在第二种情况下,哈希映射是使用Map字面量创建的。