ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 映射 >**一种无序的键值对集合,键类似于索引** ### 声明映射 > **var map [键类型]值类型** ``` package main import "fmt" func main() { var maps map[string]int fmt.Println(maps) // map[] } ``` ### 初始化映射 >**make(map[键类型]值类型, map容量),len()函数可以获取映射长度,cap()函数不能获取映射容量** ``` package main import "fmt" func main() { var maps map[string]int maps = make(map[string]int) maps["Tom"] = 18 maps["Ben"] = 15 maps["Peter"] = 17 fmt.Println("map映射,长度,容量", maps, len(maps)) // map映射,长度,容量 map[Ben:15 Peter:17 Tom:18] 3 } ``` ``` package main import "fmt" func main() { var maps = map[string]int{ "Tom": 18, "Ben": 16, "Peter": 17, } fmt.Println("map映射,长度,容量", maps, len(maps)) // map映射,长度,容量 map[Ben:16 Peter:17 Tom:18] 3 } ``` ### 从映射中删除键值对 > **delete(map,键),方法删除** ``` package main import "fmt" func main() { var maps = make(map[string]int) maps["Tom"] = 18 maps["Ben"] = 20 maps["Peter"] = 15 fmt.Println("映射删除Ben前", maps) delete(maps, "Ben") fmt.Println("映射删除Ben后", maps) } 结果: 映射删除Ben前 map[Ben:20 Peter:15 Tom:18] 映射删除Ben后 map[Peter:15 Tom:18] ``` ### 遍历映射 > **类似于数组 切片** ``` package main import "fmt" func main() { maps := map[string]int{ "Tom": 12, "Ben": 13, "Peter": 14, "Pony": 15, } fmt.Println("遍历前", maps) for k, v := range maps { fmt.Println(k, v) } } 结果: 遍历前 map[Ben:13 Peter:14 Pony:15 Tom:12] Pony 15 Tom 12 Ben 13 Peter 14 ```