Golang程序 从哈希集合中获取键值
散列集合是一种数据结构,包含Go中的键值对,可以快速查找、添加和删除。与键对应的值可以通过将键散列到一个索引中来访问。地图形式的哈希集合在Go中具有内置支持。在这里,地图是一种引用类型,通过使用map关键字来声明,后面是格式中的键类型和值类型。在这个例子中,我们将使用两种方法从哈希集合中获取键,在第一个例子中我们将使用append方法从哈希集合中获取键,在第二个方法中我们将使用索引变量。让我们深入了解一下这个例子,看看我们是如何做到的。
语法
func make ([] type, size, capacity)
Go语言中的make函数是用来创建数组/映射的,它接受要创建的变量类型、其大小和容量作为参数。
func append(slice, element_1, element_2…, element_N) []T
append函数用于向一个数组片断添加值。它需要一些参数。第一个参数是我们希望添加的数组,后面是要添加的值。然后,该函数返回包含所有值的数组的最终片断。
算法
- 在程序中导入所需的包
-
创建一个主函数
-
在主函数的帮助下,从哈希集合中获取键值
-
使用fmt包在终端打印地图的键值
例1
在这个例子中,我们将创建一个hashmap和一个key slice。哈希图将被迭代以添加键到键片中,这些键将使用fmt包的Println()函数打印到控制台。让我们看一下代码和算法,看看执行情况如何。
//Golang program to get keys from a hash collection
package main
import "fmt"
//Main function to execute the program
func main() {
hashmap := map[string]int{ //create a hashmap using map literal
"apple": 10,
"mango": 20,
"banana": 30, //assign the values to the key
}
keys := make([]string, 0, len(hashmap)) //create a keys slice similar to the length of the hashmap
for key := range hashmap {
keys = append(keys, key) //append the key from hashmap to keys
}
fmt.Println("The keys obtained here from hash collection are:")
fmt.Println(keys) //print the slice on the console
}
输出
The keys obtained here from hash collection are:
[mango banana apple]
例2
在这个方法中,我们将创建一个哈希图,并使用一个额外的索引变量在keys slice中获得它的键。哈希玛将被迭代,在每次迭代中,哈希玛中的键将被添加到keys slice中,并使用fmt包将其打印在控制台。让我们通过代码和算法来理解这个概念。
//Golang program to get keys from a hash collection
package main
import "fmt"
//Main function to execute the program
func main() {
hashmap := map[string]int{
"apple": 10,
"mango": 20,
"banana": 30,
}
keys := make([]string, len(hashmap)) //create keys slice to store the keys of hashmap
i := 0
for key := range hashmap {
keys[i] = key //in the keys slice add the key on every iteration
i++
}
fmt.Println("The keys obtained from the hash collection is:")
fmt.Println(keys) //print the keys on the console
}
输出
The keys obtained from the hash collection is:
[apple mango banana]
总结
我们用两个例子执行了从哈希集合中获取键的程序。在第一个例子中,我们使用了append函数,这是Golang中的一个内置函数,用来将hashmap中的键添加到名为slice的键中;在第二个例子中,我们使用了一个索引变量来执行类似的操作。这两个例子都给出了预期的输出。