1
resposta

Dúvida sobre a linguagem

Em Dart qual a diferença entre essas duas maneiras de declaração?

void main() =>
void main() { }
1 resposta

Olá Nise, tudo bem com você?

A primeira forma é apenas uma maneira mais curta, a chamada, lambda function ou arrow function em linguagens como javascript

Iremos utilizar quando queremos executar uma função simples, que não tem escopo, por exemplo:

int somar(int valor1, int valor2){
  return valor1 + valor2;
}

Dado que é uma função bem simples, não precisamos abrir um escopo e utilizar a palavra return

Com uma lambada/ arrow function temos o mesmo resultado:

int somarReduzido(int valor1, int valor2) => valor1 + valor2;

Esse retorno implícito que temos é uma das grandes vantagens, e a razão pela qual diversas vezes iremos ver essa abordagem, além do fato de que ao fazer composições de funções temos uma visibilidade mais limpa do que está acontecendo

No caso de funções void, como não temos retorno, não temos diferença alguma, e a questão de ter um código mais simples acaba se tornando uma vantagem, agora se precisamos dar uma série de instruções, a primeira maneira acaba se tornando inviável :)

Conseguiu Compreender? Abraços e Bons Estudos!