Olá, Vitor! Tudo bem?
Desculpa a demora, estou respondendo esse tópico para ajudar você e outros alunos que estiverem com essa mesma dúvida, e também para organizar o nosso fórum. Valeu.
Pelo que entendi, você está tendo um problema ao verificar se uma string é nula em Dart. Na função verificaNuloString
que você criou, você está tentando tratar o caso em que input
é nulo com um else if(input == null)
, porém está recebendo um erro mesmo assim.
Uma possível solução para esse problema é adicionar um retorno na condição em que input
é nulo. Em vez de apenas imprimir a mensagem de erro, você pode retornar um valor padrão, como 0, por exemplo. Assim, você evita o erro e tem um valor para trabalhar no restante do código.
Segue uma sugestão de como ficaria a função com essa alteração, faz o teste:
verificaNuloString(input, tipo){
if(input != null && tipo == 'int'){
int valorDoInput = int.parse(input);
return valorDoInput;
} else if(input != null && tipo == 'double') {
double valorDoInput = double.parse(input);
return valorDoInput;
} else {
print('Informe um valor válido.');
return 0; // Valor padrão para o caso de input ser nulo
}
}
Dessa forma, quando input
for nulo, a mensagem de erro será impressa e o valor retornado será 0.
Espero ter ajudado e bons estudos!