generics/map.go | 15 +++++++++++++++ diff --git a/generics/map.go b/generics/map.go new file mode 100644 index 0000000000000000000000000000000000000000..23ee5c58a08aa74d8379b21c2f433db4965353ab --- /dev/null +++ b/generics/map.go @@ -0,0 +1,15 @@ +package generics + +func MakeMapIfNilAndSet[K comparable, V any](pm *map[K]V, k K, v V) { + m := *pm + if m == nil { + m = make(map[K]V) + *pm = m + } + m[k] = v +} + +// Does this exist in the maps package? +func MakeMap[K comparable, V any](pm *map[K]V) { + *pm = make(map[K]V) +}