golang workspace creation explain