Em Dart qual a diferença entre essas duas maneiras de declaração?
void main() =>
void main() { }
Em Dart qual a diferença entre essas duas maneiras de declaração?
void main() =>
void main() { }
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!