void main(List<String> arguments) {
  escolherMeioTransporte(Transporte.carro);
  Set<String> registrosVisitados = <String>{};
  registrosVisitados = registrarDestinos("Rio de Janeiro", registrosVisitados);
  registrosVisitados = registrarDestinos("Rio de Janeiro", registrosVisitados);
  registrosVisitados = registrarDestinos("Rio de Janeiro", registrosVisitados);
  registrosVisitados = registrarDestinos("Rio de Janeiro", registrosVisitados);
  registrosVisitados = registrarDestinos("São Paulo", registrosVisitados);
  print(registrosVisitados);
  //Faz associações de chave e valor
  Map<String, double> registrarPrecos = {};
  registrarPrecos["São Paulo"] = 1200;
  registrarPrecos["Rio de Janeiro"] = 1500;
  registrarPrecos["São Paulo"] = 1900;
  registrarPrecos.remove("São Paulo");
  print(registrarPrecos);
  print(registrarPrecos["São Paulo"]);
  Pessoa pessoa1 = Pessoa("Arthur", 29, true);
  print(pessoa1.toMap());
}
class Pessoa{
  String nome;
  int idade;
  bool isAutentica;
  Pessoa(this.nome,this.idade, this.isAutentica);
  Map<String, dynamic> toMap(){
    Map<String, dynamic> resultado = {};
    resultado["Nome"] = this.nome;
    resultado["Idade"] = this.idade;
    resultado["isAutentica"] = this.isAutentica;
    
    return resultado;
  }
}
//Set é uma lista que não aceita valores repitidas ou duplicadas
Set<String> registrarDestinos(String destino, Set<String> banco){
  banco.add(destino);
  return banco;
}
void escolherMeioTransporte(Transporte locomacao){
  if(locomacao == 0){
    print("Vou de CARRO para aventura");
  }else if (locomacao == 1){
    print("vou de BIKE para aventura!");
  }
}
enum Transporte {
  carro,
  bike,
  andando,
  skate
}