Dart/Flutter

Flutter로 앱 만들기 - 7. Dart의 함수

wtc 2024. 6. 20. 19:35

Dart의 함수

함수 정의와 호출

void main(){
	//함수 정의
	int add(int a, int b){
    	return a + b;
    }
    
    //함수에 인자 전달
	int result = add(5,7);

	print(result); // 12 출력
}

 

매개변수의 2가지

매개변수에는 위치와 이름 매개변수가 있다.

 

위치 매개변수(Positional Parameters)

인자를 전달받을 때 같은 위치에 값을 매핑하는 매개변수

void main(){
	void people(String name, int age){
    	print('이름 : $name, 나이 : $age');
    }
    
    people('minsu', 12);
}

 

결과:

 

함수를 호출할 때 같은 위치에 인자를 전달하기에 첫번째 minsu라는 이름이 name에 매핑, 두번째 인자인 12가 age에 매핑되었다.

 

이름 매개변수(Name Parameters)

void main(){
  
  void people({required String name, int age}){
    print('이름 : $name, 나이 : $age');
  }

  people(name: 'sujan', age: 12);
}

 

결과:

 

이름 매개변수는 함수를 만들때 매개변수에 중괄호를 씌우고 기본값을 제공해줘야한다.

 

Dart는 null-sfety가 도입되어 있어 기본적으로 선언만 된 변수는 null 값을 가지고 있지 않기때문에 오류가 발생할 수 있다.

 

다른 방법으론 required 키워드를 사용하여 함수 호출 시 정해진 매개변수를 필수로 받게 만들 수 있다.

void main(){
  
  void people({required String name, int age = 0}){
    print('이름 : $name, 나이 : $age');
  }

  people(name: 'sujan', age: 12);
}

 

결과는 위와 같다.

name 변수는 함수 호출 시 필수로 인자를 받아야 하고 age 변수는 기본 값이 제공되었기 때문에 필수로 인자를 받을 필요가 없게 된다.