package main
import "fmt"
type PersonInfo struct {
ID string
Name string
Address string
}
func main(){
//map这个类型
//map是一堆键值对的未排序的集合
// var personDB map[string] PersonIofo
personDB := make(map[string] PersonInfo)
personDB["12345"] = PersonInfo{"12345", "Tom", "Room 203,..."}
personDB["1"] = PersonInfo{"1", "Jack", "Room 101,..."}
person, _ := personDB["12345"]
fmt.Println(personDB,"=========",person)
//变量声明
// myMap 是声明的map变量名 string 是键的类型 PersonIofo 是其中存放的值类型
var myMap map[string] PersonInfo
fmt.Println(myMap)
//创建
//我们可以使用内置函数 make() 来创建一个新 map
//myMap = make(map[string] PersonInfo)
//创建并初始化map的代码如下:
myMap = map[string] PersonInfo{
"1234": PersonInfo{"1", "Jack", "Room 101,..."},
}
//取值
fmt.Println(myMap["1234"].ID)
//3. 元素赋值
//赋值过程非常简单明了,就是将键和值用下面的方式对应起来即可
//myMap["1234"] = PersonInfo{"1", "Jack", "Room 101,..."}
//要从map中查找一个特定的键,可以通过下面的代码来实现:
value, ok := myMap["12"]
if ok { // 找到了
// 处理找到的value
fmt.Println(value,"----------------")
}else{
fmt.Println("没找到")
}
//判断是否成功找到特定的键,不需要检查取到的值是否为nil,只需查看第二个返回值ok,
//这让表意清晰很多。配合:=操作符,让你的代码没有多余成分,看起来非常清晰易懂。
}
GO语言 对map类型的理解
最新推荐文章于 2022-08-16 13:24:05 发布
