💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
>[info] Map map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。 map类型的变量默认初始值为nil,需要使用make()函数来分配内存。语法为: ~~~ make(map[KeyType]ValueType, [cap]) ~~~ * **示例:** ~~~ package main import ( "fmt" ) func main() { scoreMap := make(map[string]int, 8) scoreMap["张三"] = 90 scoreMap["小明"] = 100 fmt.Println(scoreMap) fmt.Println(scoreMap["小明"]) fmt.Printf("type of a:%T\n", scoreMap) } ~~~ * **结果:** ``` map[小明:100 张三:90] 100 type of a:map[string]int ``` map也支持在声明的时候填充元素: * **示例:** ~~~ package main import ( "fmt" ) func main() { userInfo := map[string]string{ "username": "pprof.cn", "password": "123456", } fmt.Println(userInfo) } ~~~ * **结果:** ``` map[password:123456 username:pprof.cn] ``` >[info] 判断某个键是否存在 * **示例:** ~~~ package main import ( "fmt" ) func main() { scoreMap := make(map[string]int) scoreMap["张三"] = 90 scoreMap["小明"] = 100 // 如果key存在ok为true,v为对应的值;不存在ok为false,v为值类型的零值 v, ok := scoreMap["张三"] if ok { fmt.Println(v) // 90 } else { fmt.Println("查无此人") } } ~~~ >[info] map的遍历 * **示例:** ~~~ package main import ( "fmt" ) func main() { scoreMap := make(map[string]int) scoreMap["张三"] = 90 scoreMap["小明"] = 100 scoreMap["王五"] = 60 for k, v := range scoreMap { fmt.Println(k, v) } } ~~~ * **结果:** ``` 小明 100 王五 60 张三 90 ``` >[info] 使用 delete() 函数删除键值对 * **示例:** ~~~ package main import ( "fmt" ) func main() { scoreMap := make(map[string]int) scoreMap["张三"] = 90 scoreMap["小明"] = 100 scoreMap["王五"] = 60 delete(scoreMap, "小明") // 将小明:100从map中删除 for k, v := range scoreMap { fmt.Println(k, v) } } ~~~ * **结果:** ``` 王五 60 张三 90 ```