Go gotcha: Why can't I add elements to my map?
Why does this code give a run-time error?
var m map[string]float64 m["pi"] = 3.1416
panic: assignment to entry in nil map
You have to initialize the map using the
make function before you can add any elements:
m := make(map[string]float64) m["pi"] = 3.1416
A new, empty map value is made using the built-in functionSee Maps explained for all about maps in Go.
make, which takes the map type and an optional capacity hint as arguments:
The initial capacity does not bound its size: maps grow to accommodate the number of items stored in them, with the exception of nil maps. A nil map is equivalent to an empty map except that no elements may be added. The Go Programming Language Specification: Map types
Be the first to comment!