[Dart] Function (함수)

Minseok Seo·2022년 11월 3일
0

선언 방법

리턴값타입 함수이름(파라미터){
	return 리턴값;
}

int add(int x, int y) {
	return x + y;
}

positional parameters

파라미터의 순서가 정해져 있는 형식

int add(int x, int y) {
	return x + y;
}

void main() {
	int result = add(1, 2); // x, y 값을 순서대로 넘겨줘야 한다.
    print(result); // 3
}

optional parameters

파라미터를 선택적으로 생략할 수 있는 형식
optional 하길 원하는 파라미터를 대괄호([])로 감싸준다.
기본값을 설정해줄 수 있다.

int add([int x = 1, int y = 2]) { // optional parameters
	return x + y;
}

void main() {
	int result = add(10); // y를 넘겨주지 않았기 때문에 기본값인 2가 사용된다.
    print(result); // 12
}

named parameters

파라미터의 이름이 정해져 있는 형식
파라미터를 넘겨줄 때, 이름을 명시해 주어야 하며, 순서가 상관없다.
required 키워드를 붙였을 시 필수값이 되며, 그렇지 않은 경우 생략할 수 있다.
생략할 경우 기본값을 설정해 줄 수 있다.

int add({required int x, required int y, int z = 0}) {
  return x + y + z;
}

void main() {
  int result = add(x: 10, y: 20); // z를 생략하였기 때문에, 기본값인 0이 사용된다.
  print(result); // 30

  int result2 = add(x: 10, y: 20, z: 30); // z를 명시해주었다.
  print(result2); // 60
}

arrow function

동작이 단순한 함수의 경우, 화살표 함수를 사용하면 간결하게 정의할 수 있다.

int add(int x, int y) {
	return x + y;
}

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

위 코드에서, 함수 addadd2는 완전히 같은 동작을 한다.

0개의 댓글