Article image

FO

Fabio Oliveira08/06/2023 15:39
Compartilhe

Caderneta Dart — Formato de Funções 2023

  • #Flutter
  • #Dart

Minhas Anotações

Uma função que executa um comando por exemplo 'print'

deve ser do tipo 'void', caso a função tenha objetivo de

realizar um calculo numérico ou chamar uma String pode

começar com o tipo que espera obter, neste caso deve ter o

comando 'return' para que o valor seja atribuído a função

que irá ser armazenada na função.

--->>>INDICE<<<---

1.Funções Simples

2.Funções com parâmetros

3.Funções tipificada com parâmetros

4.Funções simplificadas usando var

5.Funções simplificadas usando arrow

--->>> Syntaxe e Comandos <<<---

(Tipo) (comando) (nome) (= atribuição) (()Parâmetros) ({}corpo da função) (; fechamento)

(=> arrow)

_________________________________________________________

---->>> Tipos 1 <<<----

//Funções Simples

//1

Function time = () {

print('people');

};

//2

Function way = (int v1, int v2) {

print(v1+v2);

};

//3

Function water = (int g1, int g2) {

return g1 * g2;

};

void main(){

time();

way(3, 6);

print(water(5, 7));

}

________________________________________________________

---->>> Tipos 2 <<<----

// Pode-se acrescentar parâmetros em Function() para deixa-lo mais estável e facilitar a identificação, nos casos que não há variáveis apenas um comando como print os parâmetros não precisam de identificação como no caso 1, e quando há é preciso identifica os tipos no parâmetro de Function(int, int).

//1

Function() time = () {

print('people');

};

//2

Function(int, int) way = (int v1, int v2) {

print(v1+v2);

};

//3

Function(int, int) water = (int g1, int g2) {

return g1 * g2;

};

void main(){

time();

way(3, 6);

print(water(5, 7));

}

________________________________________________________

---->>> Tipos 3 <<<----

//Function pode ser tipificado para estabilização, seguraça e prevenir erros, quando o 'retorn' é um comando como 'print' deve ser do tipo 'Void' EXP1 e EXP2, quando retorna um valor deve ser tipificado de acordo com a variável EXP3.

//Importante destacar que quando Function é tipificado Dart é obriga a incluir os parâmetros, 'Function' ou 'void Function()';

//1

void Function() time = () {

print('people');

};

//2

void Function(int, int) way = (int v1, int v2) {

print(v1+v2);

};

//3

int Function(int, int) water = (int g1, int g2) {

return g1 * g2;

};

void main(){

time();

way(3, 6);

print(water(5, 7));

}

________________________________________________________

---->>> Tipos 4 <<<----

//Você pode simplificar a função substituído todo 'void Function(int, int) way = (int v1, int v2)' por 'var way = (int v1, int v2)' pois o dar faz inferência automática durante a compilação, por debaixo ele identifica como 'int Function(int, int) water' por exemplo.

//1

var time = () {

print('people');

};

//2

var way = (int v1, int v2) {

print(v1+v2);

};

//3

var water = (int g1, int g2) {

return g1 * g2;

};

void main(){

time();

way(3, 6);

print(water(5, 7));

}

________________________________________________________

---->>> Tipos 5 <<<----

//Pode se remover a atribuição '=' porem 'var' deixa de ser aceito, tendo de ser tipificado de maneira correspondente.

//Volta o mesmo, em comando simples como 'print' usa-se void, em funções complexas com cálculos, variáveis e valores usa-se return e tipificação correspondente ou pode deixar sem tipo tambem 'water (int g1, int g2) {' que o Dart irá inferir como dynamic.

//1

void time() {

print('people');

}

//2

void way (int v1, int v2) {

print(v1+v2);

}

//3

int water (int g1, int g2) {

return g1 * g2;

}

void main(){

time();

way(3, 6);

print(water(5, 7));

}

________________________________________________________

---->>> Tipos 6 <<<----

//Pode-se simplificar ainda mais usando o comando 'arrow =>' removendo a necessidade de um 'corpo {}' da função, porém apenas para funções simples inline/na mesma linha.

//1

time() => print('people');

//2

way (int v1, int v2) => print(v1+v2);

//3

water (int g1, int g2) => g1 * g2;

void main(){

time();

way(3, 6);

print(water(5, 7));

}

Compartilhe
Comentários (0)