You can write map deletion as a one-liner:
spam[0] = foo{}, false
> Since egg is unnecessary, and '_' is usually used in places where the
> literal is irrelevant I suggest the following way to remove from a
> map:
>
> spam[0] = _, false
>
> or even simpler:
>
> spam[0] = _
This has been discussed before:
http://groups.google.com/group/golang-nuts/browse_thread/thread/35afce44285f2749
http://groups.google.com/group/golang-nuts/browse_thread/thread/55758d25014282db
http://groups.google.com/group/golang-nuts/browse_thread/thread/72f46ebfb9efebbf
http://code.google.com/p/go/issues/detail?id=561
The syntax could be nicer, but I don't think that the current syntax
is overly problematic.