Skill

go-nil-map

Map nil safety - read OK, write panics

From golang-workflow
Install
1
Run in your terminal
$
npx claudepluginhub jamesprial/prial-plugins --plugin golang-workflow
Tool Access

This skill uses the workspace's default tool permissions.

Skill Content

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
Stats
Stars1
Forks0
Last CommitJan 19, 2026