Zero value типа значения: 0 для int, "" для string, nil для указателей и т.д. При форме v, ok := m[key] также ok == false. Без ok нельзя отличить "нет ключа" от "значение = zero".
v, ok := m[key]