O uso de variáveis globais “net / http” é considerado uma boa prática em golang?
O pacote golang "net / http" usa a variável global DefaultServeMux para registrar os manipuladores. Isso é considerado uma boa prática ou até mesmo um idioma golang? É uma variável global afinal de contas?
As duas principais razões para não usar variáveis globais são o AFAIK 1) que elas aumentam a complexidade e 2) são problemáticas em programas concorrentes.
Talvez 1) não seja considerado importante neste caso porque o desenvolvedor pode optar por não usar DefaultServerMux? E quanto a 2)? Variáveis globais são sempre seguras em linha / goroutine no Go? Ainda assim, estou surpreso que seja usado na biblioteca padrão do Go. Eu nunca vi tal prática em outras linguagens / bibliotecas padrão.