package main
import "fmt"
//创建和使用映射
func main() {
// 创建一个映射,键的类型是 string,值的类型是 int
dict:=make(map[string]int)
fmt.Println(dict)
// 创建一个映射,键和值的类型都是 string
// 使用两个键值对初始化映射
dict1:=map[string]string {"apple":"good","orange":"bad"}
fmt.Println(dict1)
// 创建一个映射,不能使用字符串切片作为映射的键,但可以用切片作为值
//dict2:=map[string[]]int{}//编译错误
dict2:=map[string][]string{}
dict3:=map[int][]string{}
fmt.Println(dict2)
fmt.Println(dict3)
//使用 range 迭代映射,返回键值对
//创建一个映射
dict4:=map[string]int{"a":1,"b":2,"c":3,"d":4}
fmt.Println(dict4)
for key,value:=range dict4{
fmt.Printf("key:%s value:%d\n",key,value)
}
//判断是否存在键值对
var str string="s"
value,exists:=dict4[str]
if exists {
fmt.Printf("存在键%s的匹配值,其值为%d\n",str,value)
}else
{
fmt.Printf("不存在键%s的匹配值\n",str)
}
delete(dict4,"a")//删除一个键值对
fmt.Println(dict4)
//在函数间传递映射
ss:=map[string]int{"s1":1,"s2":2,"s3":3,"s4":4}
fmt.Println(ss)
ss1:=Remove(ss)
fmt.Println(ss1)
}
func Remove(ss map[string]int) map[string]int {
delete(ss,"s1")
return ss
}
/*
输出结果
map[]
map[apple:good orange:bad]
map[]
map[]
map[a:1 b:2 c:3 d:4]
key:a value:1
key:b value:2
key:c value:3
key:d value:4
不存在键s的匹配值
map[b:2 c:3 d:4]
map[s1:1 s2:2 s3:3 s4:4]
map[s2:2 s3:3 s4:4]
*/
go语言映射操作
最新推荐文章于 2024-09-23 00:28:11 发布