AR삽질러

Dart Functions - (4) 본문

Dart

Dart Functions - (4)

아랑팡팡 2023. 9. 2. 15:07
728x90

 

Dart Functions

 

함수란

코드 블록을 정의하고 재사용 가능한 코드를 만드는데 사용되는 요소로 특정 작업을 수행하고 값을 반환할 수 있다.

 

Dart Functions

 

함수의 선언과 호출 EX2)

void sayHello(String name) {
  print("Hello $name nice to meet you!");
}

void main() {
  sayHello("아랑!");
}

# # Hello 아랑 nice to meet you!

 - sayHello 이름의 함수 정의 name 파라미터를 이용해 출력

 

함수의 선언과 호출 EX2)

String sayHello(String name) {
  return "Hello $name nice to meet you!";
}

void main() {
  print(sayHello('유람'));
}

# Hello 유람 nice to meet you!

값을 반환

 - sayHello 함수를 정의한후 문자열(String)값을 반환한다.

 

함수의 선언과 호출 EX3)

String sayHello(String name) => "Hellow $name nice to meet you!";

num plus(num a, num b) => a + b;

void main() {
  print(sayHello("아랑"));
  print(plus(5, 5));
}

화살표함수(Arrow Function)

 - Arrow를 활용하여 간단한 함수를 간결하게 정의할 수 있다.

 - sayHello 함수와 plus함수를 간결하게 정의하고 값을 출력할 있다.

 

 

Named Parameters

 - 함수 호출시 파라미터의 이름을 지정해 값을 전달하는 기능.

 - Named Parameters를 이용하면 함수를 호출할때 어떤 매개변수가 어떤 값에 해당하는지 명시적으로 지정이 가능하다.

 

ex) 매개변수를 사용하여 함수를 호출하는 방법

String sayHello(String name, int age, String contry) {
  return "안녕하세요. 저는 $name 입니다. 나이는 $age이고 국적은 $contry입니다.";
}

void main() {
  print(sayHello("아랑", 25, "대한민국"));
}

// 안녕하세요. 저는 아랑 입니다. 나이는 25이고 국적은 대한민국입니다.

 - sayHello 함수에는 세가지 매개변수(Parameters)가 있고 함수를 호출할 때 순서대로 값을 전달한다.

 

ex) 매개변수가 null일 경우 기본값을 지정한 함수를 호출하는 방법

String sayHello({String name = 'null', int age = 0, String contry = "null"}) {
  return "안녕하세요. 저는 $name 입니다. 나이는 $age이고 국적은 $contry입니다.";
}

void main() {
  print(sayHello(age: 25, contry: "대한민국"));
}

// 안녕하세요. 저는 null 입니다. 나이는 25이고 국적은 대한민국입니다.

 - 기본값 지정시 { } 로 매개변수를 감싸고 이름을 지정하여 값을 전달한다.

 

ex) Named Parameters를 이용하여 필수 매개변수를 지정

String sayHello(
    {required String name, required int age, required String contry}) {
  return "안녕하세요. 저는 $name 입니다. 나이는 $age이고 국적은 $contry입니다.";
}

void main() {
  print(sayHello(age: 25, contry: "대한민국", name: "아랑"));
}

// 안녕하세요. 저는 null 입니다. 나이는 25이고 국적은 대한민국입니다.

 - required 키워드를 사용해 필수 매개변수를 정의하고 함수를 호출할 때 해당 매개변수 값을 반드시 전달하도록 한다.

 

 

선택적 매개변수(Optinal Positional Parameters)

 - 함수 호출 시 매개 변수의 위치를 기반으로 값을 전달할 수 있는 방식으로 선택적으로 값을 전달 혹은 기본값을 지정할 수 있다. Named Parameters를 사용하지 않고 Optional Positional Parameters를 정의하라면 [ ]로 감싸준다.

String sayHello(String name, int age, [String? contry = "대한민국"]) {
  return "안녕하세요. 저는 $name 입니다. 나이는 $age이고 국적은 $contry입니다.";
}

void main() {
  var result = sayHello("아랑", 25);
  print(result);
}

// 안녕하세요. 저는 아랑 입니다. 나이는 25이고 국적은 대한민국입니다.

 

QQ Operator

 - ?? 연산자를 이용하면 왼쪽 값이 null인지 체크해서 null이 아니면 왼쪽 값을 리턴하고 null이면 오른쪽 값을 반환한다.

String name(String? name) {
  if (name != null) {
    return name.toUpperCase();
  }
  return 'ANON';
}

void main() {
  var result1 = name("ar");
  var result2 = name(null);
  print(result1); // AR
  print(result2); // ANOT
}

QQ Operator를 현재 코드에 적용한다.

String name(String? name) => name?.toUpperCase() ?? 'ANON';

void main() {
  var result1 = name("ar");
  var result2 = name(null);
  print(result1); // AR
  print(result2); // ANOT
}

 - Null병합 할당 연산자(??= ) 변수가 null일 경우에만 우변값을 변수에 할당하는 연산자

 

QQ Equals / QQ Assignment Operator

void main() {
  String? name;
  name ??= 'AR';
  name = null;
  name ??= 'another';
  var result = name;
  print(name);
}

 

 

 

 

 

 

 

 

728x90
반응형
LIST

'Dart' 카테고리의 다른 글

Dart Class - (6)  (0) 2023.09.04
Dart Typedef - (5)  (0) 2023.09.02
Dart DataTypes - (3)  (2) 2023.08.28
Dart Variables- (2)  (0) 2023.08.26
Dart - 설치 및 환경설정(1)  (0) 2023.08.22