[Dart] 함수

devvace ㅣ 2022. 12. 8. 19:40

# 기본형

void main() {
	addNumbers();
}

// 세개의 숫자 (x, y, z)를 더하고 짝수인지 홀수인지 알려주는 함수
addNumbers() {
	print('addNumbers 실행');
}

 

# 파라미터

addNumbers(int x, int y, int z) {
	//...
}

 

# Optional 파라미터

void main() {
	addNumbers(10); // 대괄호를 넣었기 때문에, 옵셔널로 y, z는 안 넣어줘도 됨
}
addNumbers(int x, [int y = 20, int z = 30]) { 
	//...
}

 

# Named 파라미터

void main() {
	addNumbers(y: 20, x: 10, z: 30); // 순서 상관없이 이름을 지정해서 넣어줄 수도 있음
}

addNumbers({
	required int x,
	required int y,
	required int z,
}) {
	//...
}

// 응용
void main() {
	addNumbers(y: 20, x: 10); // z 값을 안 넣어줘도 됨
}

addNumbers({
	required int x,
	required int y,
	int z = 30, // 네임드 파라미터에서도 옵셔널 사용 가능
}) {
	//...
}

 

# Return type

int addNumbers() {
	int i = 0;
	return i;
}

 

# Arrow fuction

int addNumbers(int x, {
	required int y,
	int z = 30,
}) => x + y + z;

 

# Typedef

void main() {
	Operation operation = add;
	int result = operation(10, 20, 30);
}

typedef Operation = int Function(int x, int y, int z);

// 더하기
int add(int x, int y, int z) => x + y + z;

// 빼기
int subtract(int x, int y, int z) =>? x - y - z;