Depois de digitar um comando ele executava tudo certo e imprimia o menu novamente, mas fechava a aplicação logo em seguida
Depois de pesquisar um pouco, consegui resolver o problema trocando a linha:
fmt.Scanf("%d", &command)
por isso:
fmt.Scanf("%d\n", &command)
Porque isso acontece? Aparentemente o Scanf
funciona diferente no Linux e no Windows, vocês podem acompanhar mais dessa discussão aqui: https://github.com/golang/go/issues/23562
Tentei responder no post do Gustavo, mas não consegui então repeti o título