Map in Golang
What is Map in C++
In C++, we have the unordered_map which is essentially a hash table.
We also have a map which is an ordered map. The order means the key of the map is in order. The order of the key is guaranteed by a red-black tree.
What is Map in Python
In python, we have a dictionary. It is essentially a hash table.
What is Map in Golang?
For Golang, the map is similar to python’s dictionary.
“A Go map type looks like this:
KeyTypemay be any type that is comparable (more on this later), and
ValueTypemay be any type at all, including another map!
mis a map of string keys to int values:
var m map[string]int " From 
Do we have an ordered map in Golang?
Not quite sure yet. We do not have an ordered map in python. Maybe Golang also doesn't have it. I will update when I am sure about this part.
As mentioned earlier, map keys may be of any type that is comparable. The language spec defines this precisely, but in short, comparable types are boolean, numeric, string, pointer, channel, and interface types, and structs or arrays that contain only those types. Notably absent from the list are slices, maps, and functions; these types cannot be compared using
==, and may not be used as map keys.
It’s obvious that strings, ints, and other basic types should be available as map keys, but perhaps unexpected are struct keys. Struct can be used to key data by multiple dimensions. For example, this map of maps could be used to tally web page hits by country. From 
From this description, it seems that the Map in golang is an ordered map.
When iterating over a map with a range loop, the iteration order is not specified and is not guaranteed to be the same from one iteration to the next. If you require a stable iteration order you must maintain a separate data structure that specifies that order. 
From this description, it seems that the map is not ordered.