Go Nil Map

Map nil safety - read OK, write panics Use when this capability is needed.

tomevault-io Updated

File contents

Map Nil Safety

Problem

Reading from nil map returns zero value. Writing to nil map panics.

Pattern

WRONG - Write to nil map

var m map[string]int  // nil map
m["key"] = 42         // PANIC: assignment to entry in nil map

CORRECT - Initialize with make

m := make(map[string]int)
m["key"] = 42  // OK

Reading is Safe

var m map[string]int  // nil map
v := m["key"]         // OK, v = 0 (zero value)
v, ok := m["key"]     // OK, v = 0, ok = false

Quick Fix

  • Always initialize maps with make() before writing
  • Check if map is nil before range/write
  • Reading from nil map is safe but returns zero values

Defensive Pattern

if m == nil {
    m = make(map[string]int)
}
m["key"] = 42

Converted and distributed by TomeVault — claim your Tome and manage your conversions.

tomevault-io/skills-registry/tree/main/jamesprial--claudefiles--map commit 94b153ce79

Frequently asked questions

npx skillmds@latest add tomevault-io/go-nil-map