Hallo Peter,
Thanks for your interest. I would like to prevent a misunderstanding. I asked a specific question and received a competent, concrete answer from Jessta. I had been very involved in another project in another language in the last 6 months. My tracking of developments in Go have been perfunctory. I was trying to get uptodate quickly. My question was one of four that were on my list to check prior to refactoring. For interest they were: issue 3317 assaignability in ranges over maps of structs, are ranges of map of *structs now safe for concurrent access, are waitgroup adds() guaranteed to be registered before the subsequent done(), and will programs still exit if unclosed channels exist. The short answer to my questions is the state is as of 2011/12, apart from the addition of the race detector in the middle of 2013 if i remember correctly, little has changed here. This is not a criticism or a problem. When refactoring we will probably begin by constructing a registration/deregistration process for long running goroutines to ensure programs do not exit when processes are in a waiting state.
thanks again for your interest,
Rgds,
Nigel