Task

The goal is to create an associative array (also known as a dictionary, map, or hash).



Related tasks:

 Associative arrays/Iteration
 Hash from two arrays


See also

 Array
 Associative array: Creation, Iteration
 Collections
 Compound data type
 Doubly-linked list: Definition, Element definition, Element insertion, List Traversal, Element Removal
 Linked list
 Queue: Definition, Usage
 Set
 Singly-linked list: Element definition, Element insertion, List Traversal, Element Removal
 Stack


// declare a nil map variable, for maps from string to int
var x map[string]int
 
// make an empty map
x = make(map[string]int)
 
// make an empty map with an initial capacity
x = make(map[string]int, 42)
 
// set a value
x["foo"] = 3
 
// getting values
y1 := x["bar"]     // zero value returned if no map entry exists for the key
y2, ok := x["bar"] // ok is a boolean, true if key exists in the map
 
// removing keys
delete(x, "foo")
 
// make a map with a literal
x = map[string]int{
	"foo": 2, "bar": 42, "baz": -1,
}