Dart 함수

이제우·2024년 10월 4일

Dart 함수

dart에서 함수 구조

반환타입 함수명(파라미터){
 //함수내용
}

함수가 한 줄 뿐이면 fat arrow function으로 간결하게 작성할 수도 있다.

String func1(name) => "my name is $name";

named parameter

dart의 함수는 named parameter를 사용할 수 있다.

String introduce(String name, int age, String country){
	return "my name is $name, I'm $age years old. I'm from $country";
}

라는 함수가 있다고 할 때, 사용자는 파라미터의 종류와 순서를 계속 기억하고 있어야 한다.

이런 불편함을 해결하기 위하여 named parameter를 사용한다.

String introduce({String name, int age, String country}){
	return "my name is $name, I'm $age years old. I'm from $country";
}

void main(){
	print(introduce(
    	name : "jinjin",
        age : 25,
        country : "seoul",
    )); // 이렇게 named parameter를 사용하여 매개변수의 사용성을 높일 수 있다.
}

하지만 dart는 null-safety가 적용되어 있어서 사용자가 파라미터를 작성하지 않았을수도 있음에 에러를 표시한다.

이를 해결하기 위해서는 두가지 방법이 존재한다.

defalut-value

첫번째는 매개변수의 기본 값을 지정하는 것이다.

String introduce({
	String name = "jinjin", 
    int age = 25,
    String country = "seoul",
}){
	return "my name is $name, I'm $age years old. I'm from $country";
}

void main(){
	print(introduce()); // 기본 값을 지정해두면 매개변수가 없어도 에러가 나지 않는다
    // my name is jinjin, I'm 25 years old. I'm from seoul
}

required

두번째는 매개변수의 필수 값 지정을 하는 것이다.

String introduce({
	required String name, 
    required int age,
    required String country,
}){
	return "my name is $name, I'm $age years old. I'm from $country";
}

void main(){
	print(introduce()); // 필수 매개변수를 입력하지 않은 함수 사용은 에러를 발생한다.
}
profile
게으른 사람 중에 제일 부지런하게 사는 사람이 꿈

0개의 댓글