Golang 如何将一个映射复制到另一个映射
Maps 在Golang中是无序的键值对集合。由于它提供了快速查找、通过键检索、更新或删除值的功能,因此被广泛使用。在映射中,可以使用Go语言提供的 for循环 将映射复制到另一个映射中。在for循环中,我们逐个获取元素的索引值1,并将其分配到另一个映射中。
语法:
for key, value := range originalMap{
}
我们可以通过示例来讨论这个概念:
示例1:
// Go程序演示如何将映射复制到另一个映射中
package main
import "fmt"
func main() {
// 使用速记声明和
//使用映射文字创建并初始化映射
originalMap := make(map[string]int)
originalMap["one"] = 1
originalMap["two"] = 2
originalMap["three"] = 3
originalMap["four"] = 4
originalMap["five"] = 5
originalMap["six"] = 6
originalMap["seven"] = 7
originalMap["eight"] = 8
originalMap["nine"] = 9
// 创建空映射
CopiedMap:= make(map[string]int)
/* 将Map1的内容复制到Map2*/
for index, element := range originalMap{
CopiedMap[index] = element
}
for index, element := range CopiedMap{
fmt.Println(index, "=>", element)
}
}
输出:
seven => 7
eight => 8
two => 2
four => 4
three => 3
six => 6
nine => 9
one => 1
five => 5
示例2:
// Go程序演示如何将映射复制到另一个映射中
package main
import "fmt"
func main() {
// 使用速记声明和
//使用映射文字创建并初始化映射
map_1 := map[int]string{
90: "Dog",
91: "Cat",
92: "Cow",
93: "Bird",
94: "Rabbit",
}
// 创建并初始化空映射
map2 := map[string]int{}
/* 将Map1的内容复制到Map2*/
for key, value := range map_1{
map2[value] = key
}
fmt.Println("Copied Map :", map2)
}
输出:
Copied Map : map[Bird:93 Rabbit:94 Dog:90 Cat:91 Cow:92]