创建哈希收集的 Golang 程序
在本文中,我们将编写 Golang 程序,使用 make 函数和 map 函数创建哈希收集。哈希映射存储可通过索引访问的键值对。在本程序中,我们将使用两个示例创建哈希收集。
语法
func make ([] type, size, capacity)
在 Go 语言中,make 函数用于创建数组/映射,它接受要创建的变量类型、其大小和容量作为参数。
使用 Make 函数
在此方法中,我们将使用 make 函数创建哈希映射,然后向该哈希映射添加键值对。我们将以许多方式操纵哈希映射,例如打印键值对或打印整个映射。
算法
- 步骤 1 − 在程序中创建类似于 main 执行可执行代码和 fmt 格式化输入和输出的 package main 和 fmt(格式化包)。
-
步骤 2 − 创建 main 函数,并在该函数中使用 Golang 中内置的 make 函数创建哈希映射。
-
步骤 3 − 在此步骤中,在哈希映射中将值添加到键(笔、铅笔和记号笔)中。
-
步骤 4 − 使用 fmt 包中的 Println 函数将哈希映射打印到控制台上。
-
步骤 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 Literal
在此方法中,我们将使用 map literal 而不是 make 函数创建哈希映射。其他函数将与上一个示例中执行的操作类似。
算法
- 步骤 1 − 在程序中创建类似于 main 执行可执行代码和 fmt 格式化输入和输出的 package main 和 fmt(格式化包)。
-
步骤 2 − 创建 main 函数,并在该函数中使用 map literal 创建哈希映射,并将值赋给映射中的键。
-
步骤 3 − 在此步骤中,使用 fmt.Println() 函数将映射打印到控制台上,这里的 ln 表示换行。
-
步骤 4 − 在这里,打印特定的键值对,以操纵哈希映射。在这种情况下,我们已使用笔的值将其打印到控制台上,类似于步骤 3。
-
步骤 5 − 在此情况下,检查键的值是否存在于映射中,并使用 if-else 条件来打印值(如果键存在于映射中),并打印“no information”,如果没有值存在。
示例
以下示例演示了使用 map literal 创建哈希收集的 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字面量创建哈希表。
极客教程