在C++/Java中,map一般都以库的方式提供,比如在C++中是STL的std::map<>,在C#中是Dictionary<>,在Java中是Hashmap<>,在这些语言中,如果要使用map,事先要引用相应的库。而在Go中,使用map不需要引入任何库,并且用起来也更加方便。
package main
import (
"fmt"
)
type PersonInfo struct{
ID string
Name string
Address string
}
func main(){
//personDB是声明的map变量名,string是键的类型,PersonInfo则是其中所存放的值类型。
var personDB map[string] PersonInfo
personDB = make(map[string] PersonInfo)
personDB["12345"] = PersonInfo{"12345","Tom","Room 512,..."}
personDB["1"] = PersonInfo{"1","Bob","Room 101,..."}
person, ok := personDB["1234"]
if ok{
fmt.Println("Found person", person.Name,"with ID 1234.")
}else{
fmt.Println("Did not found person with ID 1234.")
}
}