Read Me First
Refer to the Go Language Specification documentation for map type. A copy of the map type specification posted on this website.
MapType = "map" "[" KeyType "]" ElementType . KeyType = Type .
Type = TypeName | TypeLit | "(" Type ")"
Map build-in function
len()
Syntax : keyword [ key type ] element type
Keyword : map
[key type] can be all Go type EXCEPT map, slice and function
s := make([]string,0)
Invalid key type map[s]string, s is a slice of string type.
Element type can be byte, int, float64, string, struct
var m map[int]int
m := map[int]int
m := map[int]string
m := map[string]int
m := map[string]string
Map of struct type
type name struct {
firstName string
lastName string
age int
}
Note: the key type must NOT be function, map or slice
m := map[string]name
Initialize a map using the make
function, value of nil assigned
myMap := make(map[int]string)
initialize the map with some values
myMap = map[int]string{1: “first”, 2: “Second”, 3: “third”}
Add elements into the map
m := map[string]float64{
"pi" : 3.14,
"ftom" : 0.3,
}
Map literal add two(2) element added to m. Note the operator “:=” and {} backets end of
m := map[string]string
m["first"] = "first name"
To obtain a value from a map
//x will hold the value in “myMap” that corresponds to key 3
var x = myMap[3]
Check if a key exists in a map
//If the key 5 is not in “myMap”, then “ok” will be false
//Otherwise, “ok” will be true, and “x” will be the value
x,ok := myMap[5]
Type = TypeName | TypeLit | "(" Type ")"