Eu preciso mesmo no final da função getComandos retornar a váriavel "entrada" com a exclamação no final? Se eu retornasse sem a exclamação o que aconteceria? Qual a diferença entre voltar a variável "entrada" com ou sem exclamação?
Eu preciso mesmo no final da função getComandos retornar a váriavel "entrada" com a exclamação no final? Se eu retornasse sem a exclamação o que aconteceria? Qual a diferença entre voltar a variável "entrada" com ou sem exclamação?
Olá, Alexsandro, como vai?
A variável entrada é declarada como String?, ou seja, admite nulo. Quando você retorna entrada com o operador de exclamação, está dizendo explicitamente ao Dart que aquele valor não será nulo naquele ponto. Sem esse operador, o compilador exige que o retorno seja do tipo String?, já que não há garantia absoluta de que entrada não seja nula.
Se você tentar retornar entrada sem a exclamação, mantendo a função com retorno String, o Dart interrompe a compilação, pois existe a possibilidade teórica de entrada continuar nula. O operador de exclamação é uma forma de assumir essa responsabilidade.
Espero ter ajudado.
Siga firme nos seus estudos e conte com o fórum sempre que precisar.
Abraços :)