A Go map is equivalent to the well-known hash table found in many other programming languages. The main advantage of maps is that they can use any data type as their index, which in this case is called a map key or just a key. Although Go maps do not exclude any data types from being used as keys, for a data type to be used as a key it must be comparable, which means that the Go compiler must be able to differentiate one key from another or, putting it simply, that the keys of a map must support the == operator.
The good news is that almost all data types are comparable. However, as you can imagine, using the bool data type as the key to a map will definitely limit your options. Additionally, using floating-point numbers as keys might present problems caused by the precision used for different machines and operating systems.