3
respostas

[Dúvida] O que significa a seta em => ?

O que significa a seta em (value) => print(value)? Assim como funções anônimas, acredito que passei batido com relação ao que significa a =>.

3 respostas

São lamba Functions, são instruções de apenas uma linha, caso precisasse colocar mais instruções seria necessário abrir as chaves: (value){}

Lambda Functions? Então quer dizer que Dart tem algum suporte para programação funcional. Isto me lembra um pouco da linguagem R.

Cara para ser mais exato este recurso não está presente somente nas funções anônimas, mas sim para todas as funções e métodos. O símbolo => sinaliza o retorno em dart que pode ser void, bool, int, dynamic qualquer tipo de objeto, abaixo segue um exemplo.

void main() {
  // Código equivalente
  /*
      bool maiorQueDois(value) {
        return value > 2;
      }
  */
  var maiorQueDois = (value) => value > 2; // Sintaxe muito mais simples
  print('Aqui mostra o return: ${maiorQueDois(3)}');
  print(maiorQueDois(3).runtimeType);
}

Ele simplifica toda a mão de obra de adicionar {} e adicionar um return. Espero ter ajudado, bons estudos.