воскресенье, 4 апреля 2021 г.

Functions

//function arguments
void fn1(String name, int age) {
  print("My name is $name. I'm $age years old.");
}

//function return value
String fn2(String name, int age) {
  return 'My name is $name. I\'m $age years old.';
}

//optional argument, default value
void fn3(int a, [int b = 0]) {
  print('a: $a, b: $b');
}

//function named arguments, default value
void fn4(int a, {int b = 0}) {
  print('a: $a, b: $b');
}

//function required named arguments
void fn5({required String name, required int age}) {
  print('My name is $name. I\'m $age years old.');
}

//function named arguments, default values
void fn6({String name = '_', int age = 0}) {
  print('My name is $name. I\'m $age years old.');
}

//function Null Safety
void fn7({String? name, int? age}) {
  print('My name is ${name?? '_'} . I\'m ${age?? 0} years old.');
}

double fn8(List<double?>? values) {
  var sum = 0.0;
  if (values != null) {
    for (var value in values) {
      sum += value?? 0.0;
    }
  }
  return sum;
}

//Fat arrow notation (=>)
int fn9(int x, int y){
  return x + y;
}

int fn10(int x, int y) => x + y;

void fn11(int x, int y) => print(x + y);

//Inner functions
void fnOut(){
  print('Out');
  //..
  void fnIn(){
    print('In');
  }
  fnIn();
  fnIn();
}

void main() {

  fn1('Tom', 42);
  print(fn2('Tom', 42));
  fn3(5);
  fn3(5, 5);
  fn4(5);
  fn4(5, b: 3);
  fn5(name: 'Tom', age: 42);
  fn6();
  fn6(name: 'Tom');
  fn6(age: 42);
  fn6(name: 'Tom', age: 42);
  fn7();
  fn7(name: null, age: null);
  print(fn8(null));
  print(fn8([1, null, 3]));
  print(fn9(5, 5));
  print(fn10(5, 5));
  fn11(5, 5);
  fnOut();

}

Комментариев нет:

Отправить комментарий