Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Erro

void main() {
  escolherMeioTransporteEnum(Transporte.carro);

}

void escolherMeioTransporteEnum(Transporte locomocao){
  // if(locomocao == Transporte.carro){
  //   print("Vou de CARRO para aventura!");
  // } else if(locomocao == Transporte.bike){
  //   print("Vou de BIKE para aventura!");
  // } else{
  //   print("Vou para aventura!");
  // }
  
  switch (locomocao){
    case Transporte.carro:
      print("Vou de CARRO para aventura!");
      break;
    case Transporte.bike:
      print("Vou de BIKE para aventura!");
      break;
  }

}

enum Transporte{
  carro,
  bike,
  andando,
  skate,
  aviao,
  patins,
  trem,
}

Alguem sabe pq o meu nao está rodando?

2 respostas
solução!

Depois de testar eu acredito que na atualização do dart, ele nao permite executar o switch sem o default...

void main() {
  escolherMeioTransporteEnum(Transporte.aviao);
}

void escolherMeioTransporteEnum (Transporte locomocao){
  switch (locomocao) {
    case Transporte.carro:
      print("Vou de CARRO para aventura!");
      break;
    case Transporte.bike:
      print("Vou de BIKE para aventura!");
      break;
    case Transporte.aviao:
      print("Vou de AVIAO para aventura!");
      break;
    default:
      print("Estou indo para aventura, isso que importa!");
  }

}

enum Transporte{
  carro,
  bike,
  andando,
  skate,
  aviao,
  patins,
  trem,
}

Coloquei o default e rodou agora

Oi George, tudo bem?

Muito obrigada por compartilhar sua solução atualizada. Adicionar uma cláusula default a um switch em Dart é uma boa prática quando você está trabalhando com enums ou qualquer outro tipo de variável que não tenha todas as opções de enumeração cobertas nos casos do switch.

Isso garante que, se uma nova opção de enumeração for adicionada ao enum no futuro, o programa não quebrará, pois o default lidará com qualquer valor não correspondido explicitamente nos casos.

No seu exemplo, você adicionou o caso default e isso é uma boa prática. Isso faz com que, se você passar um valor que não esteja representado nos casos do switch, o programa não gerará um erro e ainda fornecerá uma saída padrão, o que é uma abordagem mais segura e robusta.

Um abraço e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software