현업 FLUTTER 개발 들어가기전 DART언어 파악하기 (함수)
1. String sayHello(String name){
return "hello $name!"
} // [타입] [함수명]([인자타입] 인자명) { return @@@}; 혹은 [타입] [함수명]([인자타입] 인자명)=>"@@@"; 한줄반환일때만)
2. Named parameters는 명시적으로 required로 표시되지 않는 한 선택 사항. 기본값을 제공하지 않거나 Named parameters를 필수로 표시하지 않으면 해당 유형은 기본값이 null이 되므로 null을 허용해야함.
String sayHello(
{required String name, required int age, required String country}) {
return "${name} / ${age} / ${country}";
}
void main() {
print(sayHello(name: "sugar", age: 10, country: "Korea"));
}
--------------------------------------------------------------------------------------------------------
Positional parameters
: 함수에 정의되어있는 파라미터 순서대로 들어감.
named Parameters
: 함수에 정의되어 있는 파라미터 순서를 지키지 않아도 됨.
함수에 1. 디폴트값을 지정하거나, 2. Required modifier 를 써서 null 방지 가능
--------------------------------------------------------------------------------------------------------
3.
?? 연산자를 이용하면 왼쪽 값이 null인지 체크해서 null이 아니면 왼쪽 값을 리턴하고 null이면 오른쪽 값을 리턴한다.
String capitalizeName(String? name) {
return name?.toUpperCase() ?? "";
}
??= 연산자를 이용하면 변수 안에 값이 null일 때를 체크해서 값을 할당해줄 수 있다.
void main() {
String? name;
name ??= "sugar";
name = null;
name ??= "js";
print(name); // js
}
4.TypeDef
자료형에 사용자가 원하는 alias를 붙일 수 있게 해준다. (자료형 이름의 별명을 만들 때 사용)
typedef ListOfInts = List;
ListOfInts reverseListOfNumbers(ListOfInts list) {
var reversedList = list.reversed.toList();
return reversedList;
}