리턴값타입 함수이름(파라미터){
return 리턴값;
}
int add(int x, int y) {
return x + y;
}
파라미터의 순서가 정해져 있는 형식
int add(int x, int y) {
return x + y;
}
void main() {
int result = add(1, 2); // x, y 값을 순서대로 넘겨줘야 한다.
print(result); // 3
}
파라미터를 선택적으로 생략할 수 있는 형식
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
}
파라미터의 이름이 정해져 있는 형식
파라미터를 넘겨줄 때, 이름을 명시해 주어야 하며, 순서가 상관없다.
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
}
동작이 단순한 함수의 경우, 화살표 함수를 사용하면 간결하게 정의할 수 있다.
int add(int x, int y) {
return x + y;
}
int add2(int x, int y) => x + y;
위 코드에서, 함수 add
와 add2
는 완전히 같은 동작을 한다.