dart함수에 대해 학습하고 기록했다.
벌써 진도를 반이나 수강했다.
- 함수 정의
일반적으로 함수 정의는 다른 기존 언어들과 비슷하다.
String sayHello(String potato){
return "Hello $potato nice to meet you";
}
String sayHello(String potato)=>"Hello $potato nice to meet you";
// => 이걸 사용하면 바로 리턴한다는 의미이다.
void main(){
print(sayHello('nico'));
}
- Named Parameters
원래의 방식으로 parameter를 처리하려면 그걸 보고 함수를 다시 보고 이해해야 한다.
심지어 순서까지 맞춰야한다. 따라서 데이터가 많아지면 named arguments를 사용하는 것이 좋다.
보통 함수에서 더 많은 정보를 리턴하고 싶을 때 사용한다.
String sayHello({String name, int age, String country}){ //parameter에 중괄호 추가!!
return "Hello $name, you are $age, and you come from $country";
}//이렇게까지만 하면 null safety에 의해 오류가 뜬다.
//따라서
String sayHello({//parameter에 중괄호 추가!!
String name = "anon', //default값을 설정해주는 방법
int age = 99,
String country = 'wakanda'
}){ //parameter에 중괄호 추가!!
return "Hello $name, you are $age, and you come from $country";
}
//void main(){
sayHello(); //default값이 있어서
이런 식으로 선언해도 문제가 없다.
}
String sayHello({//parameter에 중괄호 추가!!
required String name, //required를 설정해주는 방법
required int age, //
required String country,
}){ //parameter에 중괄호 추가!!
return "Hello $name, you are $age, and you come from $country";
}
void main(){
print(sayHello(
age: 12,
country: 'cuba',
name: 'nico',
)); //이런식으로 순서와 상관없이 named arguements를 사용할 수 있다!
}
default value를 설정하거나 required modifier를 이용할 수 있다!
default value는 null safety 때문에 사용하고
required modifier는 데이터를 꼭 받아야 할 때 사용한다. parameter가 꼭 있어야 된다는 걸 알려준다.
ex) 로그인 기능은required기능을 사용하면 좋다.
함수에 따라 개발자가 직접 결정한다.
- Optional positional parameters
흔히 사용되지는 않는 문법이다.
String sayHello(String name, int age,
[String? contry = 'cuba']) =>
'Hello $name, you are $age years old from
$country';
void main(){
var results = sayHello('nico', 12); //이런식으로 country가 없어도 실행된다!
print(reaults);
}
?? 이나 ?= 를 작성하여 사용한다.
값이 null일 수 있는 것에 쓰인다.
String capitalizeName(String? name)=>
name?.toUpperCase() ?? 'ANON';
// 좌항 ?? 우항 : 좌항이 null이면 우항을 return 한다.
좌항이 null이 아니면 그대로 좌항을 return한다.
void main(){
capitalizeName('nico');
}
--------------
void name(){
String? name;
name ??= 'nico'; //name이 null이 아니면 우항을 return
}
- typedef
자료형을 직접 정의하여 사용할 수 있는 기능이다.
integer list나 map, set에 주로 사용한다.
typedef intList = List<int>;
void main(){
intList intergetList = [1,2,3]; //이런 느낌
}
다음 시간에는 메인 파트인 class를 학습하고 기록해야겠다.
flutter는 다 class여서 집중이 필요한 파트이다!
'FE개발 공부' 카테고리의 다른 글
6. Flutter 소개 (0) | 2025.10.02 |
---|---|
5. Dart의 클래스 (0) | 2025.09.27 |
3. Dart의 데이터 (0) | 2025.09.25 |
2. Dart의 다양한 변수들 (0) | 2025.09.24 |
1. Dart 소개 (0) | 2025.09.24 |