Which is the nicer way to initialize a map in Golang? [duplicate]

As map is a reference type. What is difference between:?

m := make(map[string]int32)


m := map[string]int32{}
1 Like

One allows you to initialize capacity, one allows you to initialize values:

// Initializes a map with space for 15 items before reallocation
m := make(map[string]int32, 15)


// Initializes a map with an entry relating the name "bob" to the number 5
m := map[string]int{"bob": 5} 

For an empty map with capacity 0, they’re the same and it’s just preference.

Refer: stackoverflow.com