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.

questionAnswers(2)

yourAnswerToTheQuestion