Go Maps: Difference between revisions
Jump to navigation
Jump to search
Line 38: | Line 38: | ||
If the key does not exist in map, the retuned value '''is not <code>nil</code>''', but the [[Go_Language#Zero_Value|zero value]] for the type. | If the key does not exist in map, the retuned value '''is not <code>nil</code>''', but the [[Go_Language#Zero_Value|zero value]] for the type. | ||
The | The indexing operator can be used to change the value associated with a key, or to add a new key/value pair: | ||
<syntaxhighlight lang='go'> | <syntaxhighlight lang='go'> | ||
mm["A"] = 7 | |||
mm["C"] = 9 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 23:39, 26 August 2024
External
Internal
Overview
Maps and Pass-by-Value
Pointers to Maps
nil and Empty Map
nil Map
Empty Map
Declaration and Initialization
Initialization with make()
Initialization with a Composite Literal
Composite literals can be used for map initialization.
Long variable declaration and initialization with type inference:
var mm = map[string]int{"A": 1, "B": 2}
mm := map[string]int{"A": 1, "B": 2}
Operators
Indexing Operator []
Values stored in a map can be referenced with the indexing operator []
, using the [<key>]
syntax. The indexing operator returns two values: the value associated with the key, if any, and a boolean that says whether the key exists or not in the map.
mm := map[string]int{"A": 1, "B": 2}
v, ok := mm["A"]
fmt.Printf("%d, %t\n", v, ok) // will display 1, true
If the key does not exist in map, the retuned value is not nil
, but the zero value for the type.
The indexing operator can be used to change the value associated with a key, or to add a new key/value pair:
mm["A"] = 7
mm["C"] = 9